Q&A With James Gosling, Father of Java
Minaloush writes to tell us that in a recent Q&A with Sun's James Gosling, the father of Java fielded questions on the GPL, security, the role of Java in the enterprise. "If you come up with a good software development tool, that makes life easier for the developers and they can get their job done quicker, then the first thing the manager says is 'oh you've got free time on your hands. Do this extra thing'."
The "write once; run anywhere" paradigm has failed yet again.(For those of you who'll argue; you haven't written a Java app.)
What do you think of the declining popularity of Java?
The Java API is rather brilliant in both its usability and its extensive features
Most of the Java API was created by the JCP, not Sun, often based on prior work by others (Swing basically came from Netscape).
not to mention its documentation.
Extracting comments from source code is not the basis for well-written documentation. In fact, Java is sorely lacking in both good documentation and any form of specification. The best documentation is probably the third party books that have been written on it.
The Java language is rather easy to learn (many, many universities use it as the first language of choice) and isn't too far from C++ to be easily learned. And it's memory protection and garbage collection make life *much* easier and safer. That is the reason why Java succeeded, and most, if not all of it (in the first years) by extensive help by Sun. And Sun is also responsible for keeping Java the clean language it is today, without pre-processor, without operator overloading, properties and all the other things that makes maintaining C++ so much *fun*.
Indeed, Java is a better, cleaner, simpler language than C++. So is Algol 60. And Java has garbage collection, but so has just about every language other than C++ designed after the 1970's.
I think Java primarily succeeded because it was so poorly designed: C++ programmers felt right at home in it and thought that it was "advanced" and "fun", which it was, relative to C++. Good strategy on the part of Gosling, bad language design nonetheless.