Forum OpenACS Q&A: Response to A Technical Paper on Java

Collapse
Posted by Talli Somekh on
(Quick not: Michael, your link to Don's post is broken, I believe. I think it's incomplete.)

Michael, I think you and Andrew have brought up good points. I also think that what this discussion is leading to is really two different papers:

a) Why a Tcl based (Open)ACS can be preferred to a Java based ACS and
b) why OpenACS has not embraced Object Oriented Programming

These two parallel each other very closely, but I think they must be separated. The reason is that most of the time the counter argument a person makes to Why not Java is, "Well, Tcl isn't OOP." Once you begin making the argument why OOP might not be best, they say "Well, Java has more developers/APIs/libraries."

The problem is that I don't think a good argument for both can be made in a single paper because they are two different thesis statements that must be addressed. Also, there are non-Java OO systems (Python based Zope) and the issue of whether Tcl's lack of OO features is a disadvantage or not.

I know that many non-programmers, and even hardcore programmers, believe that OOP is a god send. I understand this, because I think that OO is a very intuitive way to think about programming. Why can't I take a piece here, another one here, and another here and have a whole program? Then I'll use these same pieces plus a few others and make another app?

The issue, of course, is that this is not always true. OOP is for really hard problems, perhaps like an OS kernel. But, web systems are *not* OS kernels. (John Sequiera's quote: "Web systems *are* simple.") This is the point that needs to be made *separate*, but very *complementary*, to the Java argument. In other words, the OO argument can be abstracted from the Java argument. :)

So I think two separate papers that make persuasive arguments for both approaches would compliment one another very well. I don't want to suggest that Ben write both of them, because he's burdened enough. I would be happy to take a stab at writing this paper, but I don't have enough technical expertise. If someone volunteers to help me, I would be glad to work on it. There are a coupla guys around that I know who would be good help.

talli