[ACCEPTED]-Is GNU's Java Compiler (GCJ) dead?-gcj

Accepted answer
Score: 27

You could use IKVM and Mono's ahead of time compiler 2 to generate native code.


There is an example 1 at the bottom of this page.

Score: 24

A more pertinent question would be whether 10 it was ever really alive. Consider these 9 issues, from its own website:

  • 1.2 support is 'still incomplete'.
  • 1.3 ditto.
  • The project was last updated over a year ago [as of October 2009].
  • Currently 'supports most of the 1.4 libraries plus some 1.5 additions.'
  • Doesn't support java.nio.
  • Doesn't support javax.naming ('complete but no providers').
  • Doesn't support javax.sql.
  • Doesn't support AWT or Swing.
  • Doesn't support localization via java.text.
  • State of java.security is 'unknown'.
  • Doesn't check permissions in java.lang.reflect.
  • Does it compile generics?
  • Huge chunks missing out of other packages, e.g. nearly 50% of java.util.
  • No annotations.
  • No script engine.
  • Nearly all of javax.xml.* (recursively) is missing.
  • No org.omg.CORBA.
  • Practically no org.w3c.
  • Current comparison with JDK 1.6 is here. Note that this appears to add percentages to give a completely meaningless total.

And note that 8 it isn't billed as a 'Java compiler'. It 7 is a compiler for a subset of Java known 6 as GNU CLASSPATH. Which in turn hasn't been 5 updated since Feb 2009.

If it isn't dead 4 it is certainly lying down.

EDIT It's dead. GCJ 3 is no longer listed as a GNU package. And after four years of zero 2 activity we are entitled to assume the same 1 about GNU CLASSPATH.

Score: 5

One alternative to compile Java to native 1 is Excelsior JET.

Score: 1

I think not that it is dead. It has only 3 few important. Which result in a slow development. There 2 are 3 fact because it has only few important 1 today:

  • It based on the GNU Classpath. Since Java is open source (OpenJDK) there is no large need for another open source Java. This has slow down the development speed.
  • The Java was faster in the last years. The GCJ output is not faster. In many cases it is slower.
  • The GNU Classpath has many incompatibility.

More Related questions