>Essentially any criticism of Java's performance must be aimed
>at the JVM.  Ultimately, as long as Java runs on the JVM, it
>is *never* going to be as quick as a compiled-to-native-code

"The" JVM?  I have at least four I know about on my computer:
the one built into Netscape, Microsoft Virtual Machine, Sun's
JRE 1.3 (Opera uses this), and the one in the JDK.

With the exception of the two from Sun (I *think* with that
exception!) each of them has different versions, capabilities,
and bugs.

Since some folks have been a little skeptical that I could
find really sucky Java applications -- applications that are
otherwise very good, but that Java made sucky -- allow me to
give a few examples.

I have two Java applications from Trapezium: Vorlon, a free
VRML syntax checker, and Chisel, a reasonably inexpensive
syntax checker and cleaner/decimator/etc.  Chisel runs on
my machine.  Vorlon doesn't any more.  Nobody knows why.

When you ask Chisel to open a file, sometimes it brings up
the file open dialog box, sometimes it doesn't.  Sometimes
the file text display updates, sometimes it doesn't.  This
is on a machine a month old, with a brand-new install of
WinMe, and a *lot* of CPU power, memory, and disk.  I believe
this is due to my getting ahead of the program and clicking
on a control before the program is ready for me to do that.
I'm seldom able to do 9 or 10 file operations in a row,
regardless of what they are.

Perhaps you're familiar with Xeena, an XML development tool
by IBM written in Java that I've occasionally used to follow
the development of X3D (sort of VRML in XML).  One of my
colleagues reported that on a 500 MHz Pentium III, Xeena
takes 30 minutes to bring up a file ready to work on.

Or, rather, it does on those occasions it doesn't simply
hang or crash sometime before that 30 minutes has expired.

Flamingo Optimizer (alas, no longer with us) was a multi-
algorithm mesh decimator that kept texture coordinates
straight -- which I think is magic.  Written in Java.

Trouble is, a multi-algorithm mesh decimator is best used
when you tweak a parameter, see what the result is, tweak
again, and so on.  Cycle times were simply too long.  And
it would crash after five or six iterations.

I can give examples all day of software in Java that not
only sucks but sucks horribly -- software written by people
who are plenty smart who've done the best they can with a
JVM (or set of JVMs) that might as well be wearing a label
"Trabant inside".

The following question is cruel, but I think we need to cut
to the chase and separate reality from wishful thinking.

I simply ask our Java fans: do you use Forte?
Bob Crispen
[log in to unmask]