Unix must have a stable, fast Java VM

Nelson Minar nelson at media.mit.edu
Mon Apr 14 22:40:40 PDT 1997

I've been flirting with running Windows and an X server to get my work
done. Read my comp.os.linux.advocacy post of yesterday for the gory
details. The main thing is that most of my work is in Java and Java
under Windows is pretty damn good. In particular, Microsoft's Java VM
is fast.

I really wish I could be writing my Java code in Windows. I'd have a
set of tools that are supported and work well. The Java API nicely
hides all the cruft in the Win32 API so I don't have to swallow that
pill. But I've switched back because I just can't cope with Windows,
too many things are broken.

Still, the fact remains that Microsoft has done a really nice job on
their Java VM. Java code runs much faster on Windows than it does on
any other platform (except maybe Macintosh Roaster). And Windows is
the first platform most Java add-ons are released to, for the obvious
reasons of marketshare.

Java is the future of Internet software development. If the Unix Java
tool situation persists, Unix is going to get left behind as the
operating system for serious developers.

Some folks on the net have done a heroic job of trying to bring good
Java tools to Unix. The Sun JDK has been ported for free to Linux [1]
by a few folks fighting through Sun's legal morass. JDK 1.0.2 works
great. Tim Wilkinson has done a wonderful amount of sophisticated work
with Kaffe, a free portable Java VM that does both JIT and interpreter
[2]. And if you can compile to native code Toba [3] is a good way to
run Java stuff (at least javac) very fast.

But it's not enough. The JavaVM in the Sun JDK is really slow. Kaffe
isn't quite ready for prime-time (it runs javac pretty well, but the
marriage to AWT through biss-awt [4] is problematic now). Kaffe also
seems considerably slower than the Microsoft VM. Toba is limited to
compiled code and doesn't have any graphics support.

I don't mean to insult the work people have done so far. When you
consider the resources available to giants like Microsoft, the results
by the various people mentioned above has been phenomenal. But I don't
think this level of work will be enough. Unix hackers need some sort
of strategy to better foster development of Java tools for Unix.
Otherwise, Windows will draw in more and more developers.

The primary goal should be a portable, free, high-speed JavaVM. Kaffe
is a great codebase to work from. How can the development process of
Kaffe be accelerated? How can people help improve the graphics
support, how can the performance be tweaked?

Is there any way to get commercial support to pay people to develop a
free JavaVM? What's going on between Cygnus and Kaffe? Is there any
way to get Sun to devote some resources? They should have a self-interest.

The free JavaVM needs to be promoted to the big Java software
developers. Code that's 100% Java needs to be vetted with the Unix
JavaVM to shake out bugs in the VM, the Java code, and the Java specs.
Java products that require native code (Netscape, Marimba, etc) must
be aggressively ported to Unix systems - freely if possible, but
commercially otherwise.

If Java doesn't run well on Unix, then Java will itself be the nail
that Microsoft hammers into Unix's coffin.

Unix Java code

[1] Linux-JDK  http://www.blackdown.org/java-linux.html
[2] Kaffe      http://www.kaffe.org/
[3] Toba       http://www.cs.arizona.edu/sumatra/toba/
[4] Biss-AWT   http://www.biss-net.com/biss-awt.html

More information about the kaffe mailing list