Sometimes the Second System Effect is no problem at al... there is NO
second system. Build one to throw away in the privacy of your own
OK, OK, this summary of the Software Review article is fair enough and
stands on its own.
But the article itself misses or under emphasizes a number of evil
things about Java. It makes a few glaring mistakes, as well. Yes, I
agree that Sun should have focussed on the core JVM before expanding
Beyond "getting it right the first time," I think we can accuse Sun of
failing to prioritize its efforts, thereby endangering the whole
As someone who has at times contributed to builds, documentation, and
bug tracking/support for the Blackdown Linux JDK (uses Sun source)
http://www.blackdown.org, I'm rather opinionated about this issue from
an admittedly layman's position (corrections/comments welcome).
--- HotSpot is shipping now (I thought), albeit certainly performing far
below earlier "at C speeds or faster" estimates. Big surprise! And what
will its "community source" licensing be? I'm not expecting much in
either future performance gains nor in Sun's intellectual property
positioning on this technology.
--- This article was clearly written by someone who likes C++. You
want operator overloading, and conditional compilation? You can
have it, but I wouldn't want it in Java. Not that C++ is bad,
just that Java's intention of providing a simpler language is good.
--- Java's use of a closed-source Motif GUI on UNIX was a mistake, IMHO.
--- The browser problems are only partly Javasoft's fault.
But if Sun *had* focussed on providing a solid JVM plugin with a
decent (small footprint) GUI in the beginning, they could have
forced Microsoft to listen.
--- The split among Blackdown, Japhar, Kaffe, Cygnus, and other "open
source" efforts alludes to one major problem only hinted at in this
article: Sun's (legitimate) intellectual property concerns
engendered source licensing that made it *impossible* to
contribute fixes to Sun source *and* create one's own JVM. Big
mistake. It's not like there's any rocket science in the JVM
itself, as this article states: it's all '60s technology.
--- Java is absolutely *not* (yet) the elegant, modern software technology
platform ideally suited for network applications as this article
blithely concedes at the end. Just try to do anything with the FTP
client classes, which were horribly buggy from the beginning, and
probably still are. The networking code is riddled with problems,
which is a fascinating irony given the earlier hype from Sun.
Do I think Java is dead? No, but I thought it would be worth trying to
correct some of the gaps I perceived in this article's criticism. I
welcome Sun's spin ever closer to ISO standardization. If Java were
ever truly to become an open specification, we'll see progress on
implementations other than Sun's.