Java and Linux

I would describe the current status of Java and Linux as "not perfect but very promising".

VMs and such

The biggest problem with the available Java runtimes is that there isn't a solid JIT. A couple of projects do exist, but I have not been able to get them to run my application, which is admittedly pretty complex. They do well for running e.g. javac, however.

The linux-jdk port project was moving slowly for awhile, which gave me some grief. However, if you check the top 25 bugs at the Java Developer Connection, you'll see that support for Linux is the top-ranked. Several developers have gotten behind Stephen Byrne, who is the principal porter, and recently the releases have been very timely. They are currently on the second version of jdk1.1.6, and it runs fine. I do all my development with this tool at present.

Java 1.2 support is in the works, but due to the kind of schedules required and the sheer number of new features in 1.2, it will probably lag the official release by a few months. Those who are real heatseakers on JDK releases will probably not like that; as for myself the port will probably be ready at the same time I am.

Since the JDK requires a license and can't be distributed as source, an open source version can't be made. Therefore there are a couple of open-source JVM projects out there. Kaffe has been around for awhile, includes a JIT. I haven't managed to get it to run, and am not certain of its status, but I believe lacks full AWT support. Japhar is a better bet in my opinion, but is still under development. It will include full native thread support, a full JNI implementation, and other goodies. A related project is the Classpath, which is building a free, open-source implementation of the Java core packages. They are working on 1.1 compliance primarily, but several of the authors have already completed 1.2 versions as well.

One big wart on the current JDK is the fact that it's implemented using Motif, which costs about $200. You can use it without Motif, but you get the statically-linked version, so each invocation of the VM has a lot of extra code it has to drag along and can't share with other invocations. Lesstif support is getting better, though. The open-source VMs, Kaffe and Japhar, will not use Motif. I believe Classpath is going to use GTK for their GUI stuff.

Back in the commercial realm, the Open Group has announced a port of the JDK as well, plus some sort of recompiler. So far it is only so-so.

Other tools and support

[X]Emacs has a fair amount of Java support, and is what I use for development.

IBM has started releasing some of their tools from their AlphaWorks site, including the C++ based Jikes Java compiler. Currently these are not open-source.

Servlet support is available as an Apache plugin.

MySQL and Postgres both have JDBC drivers.

Other tools seem to be cropping up all the time.

Cygnus is building a GPLed VM and toolset; currently only the native-code compiler is out.
previous next JavaJavaJava... Beverage break.