&t
Here is a thoughtful response to Simson Garfinkle's original attack on Java, and his subsequent clarification. I wish the author hadn't impuned Garfinkle's motives (stupidity and insecurity, he suggests), but it is otherwise a good defense of Java. A sample:
I noticed there were fantastic trends in principled patterned thinking, values *VERY* important to me personally. It seemed the Java API authors had gone to great lengths to implement their entire API after the fundamentals of "Design Patterns". As I explored further and further into their API/library world, I became more and more enthalled by what was there and how thorough and well thought out it was.
My main frustration with Garfinkle's original article is that he drops this bomb without any further discussion:
The creators of Java tried to make a better C++. But they ended up with a language that is ugly, hard to read and that requires an inordinate amount of typing because of a variety of pedagogical restrictions imposed by Java's creators.
I can ignore his claim that Java is unsuitable for "major desktop applications" and that "it's better to train programmers to write efficient code than to depend on new programming languages to do it for them". The former point is common knowledge and irrelevant to me (I have no desire to create big desktop apps), the latter point is obvious and beside the point (why not improve both the skill of the programmer and the quality of the language?). But I would love to read a critique of Java's aesthetics, readability, and pedagogy. I am trying to move up to Java from Visual Basic and VBScript largely for aesthetic reasons, and from JavaScript because of its weak object orientation. I chose Java over C++ and Perl precisely because I consider both languages ugly and unreadable. Does all of this come down to a simple matter of taste?
Postscript: No matter how hard I resist, I always read his name as "Simson and Garfinkle" and chuckle. I know it's not very funny, but I just can't help it.