What Java APIs are supported? How complete is the support?
Matt Welsh writes: Just look in the ‘libjava’ directory of libgcj and see what classes are there. Most GUI stuff isn’t there yet, that’s true, but many of the other classes are easy to add if they don’t yet exist. I think it’s important to stress that there is a big difference between Java and the many libraries which Java supports. Unfortunately, Sun’s promise of “write once, run everywhere” assumes much more than a JVM: you also need the full set of JDK libraries. Considering that new Java APIs come out every week, it’s going to be impossible to track everything. To make things worse, you can’t simply run Sun’s JDK classes on any old JVM — they assume that a bunch of native methods are also defined. Since this native method requirement isn’t defined by the JDK specs, you’re effectively constrained to using Sun’s JVMs if you want to use Sun’s JDK libraries. Oh yes — you could also reimplement all of those native methods yourself, and make sure they behave exactly as Sun’s do.