Hallo Heiko, --- Heiko Garrelts <[EMAIL PROTECTED]> wrote: > Hi > > I'm both new to Java. I wanted to learn Java with a > free VM and > compiler. But which one should I choose? > When looking in the Debian package database I found > these combinations: > 1. Kaffe with Jikes as compiler > 2. Gij (uses libgcj for classes) with jikes > 3. Gij with Gjc > 4. Some other VM which I think are not as complete > as the ones mentioned > above (e.g. kissme with classpath). > > I think many Kaffe developers also tried some of the > other implementations > and could help me with the correct decision. I want > the best compatibility to > the original Java implementation as possible.
That's tough, as we don't really have a measure of compatibility. I doubt that any free implementation behaves exactly like sun's in all respects, especially bug for bug compatibility. Then the second question is: what java version are you interested in? There are incompatibilities between sun's java 1.0, 1.1, 1.2, 1.3 and 1.4, according to sun's documentation. Your best bet is running test suites (like mauve) and checking if the results are good enough for you. Unfortunately, there are just a few free (as in software) test suites around, and they are by no means complete. Speaking of compatibility among the VMs alone, the free implementations should be mostly compatible with Sun's offerings. Again, this is based on anecdotal evidence, since the free software community lacks a test suite for the VM spec. > AWT/Swing would be fine but is > not so important. But I want JIT and compilation to > native code. Kaffe has its own AWT implementation, and allows the swing 1.1.1 classes to run over the AWT. That means that you can run most of the Swing programs written to java 1.2 spec. Classpath seems to be getting a free swing implementation. kaffe has a jit on many platforms, but offers no native code compilation. Gij doesn't have a jit as far as I know, but you can use gcj to compile to native code. The biggest pro of using jikes is the compilation speed. > After finding so many freee VMs I ask myself why the > most developers don't > work more together? E.g. if everony would use > classpath for the class > implementations everything would evolve much faster. > Is there any important > reason for this? In short: different projects have different goals that lead to different designs. But I would definitely like to see more flexibility regarding library implementations after 1.0.7 is out. You might be asking yourself: How can I help the free implementations? While learning Java don't concentrate on a single environment. Test your code with different implementations and report the discrepancies you find. have fun, dalibor topic __________________________________________________ Do You Yahoo!? LAUNCH - Your Yahoo! Music Experience http://launch.yahoo.com _______________________________________________ kaffe mailing list [EMAIL PROTECTED] http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
