Re: kaffe/gcj (was: Re: Quitting debian-java)
Bob Ham <email@example.com> [010312 03:25]:
> I was under the impression that Gcj's main purpose was to build a java
The purpose is to be a Java implementation which is *based* on
ahead-of-time-compilation - but it does include a VM.
Seth Arnold <firstname.lastname@example.org> writes:
> Because gcj can compile directly to native machine code, gcj can compete
> against kaffe without having to supply a VM in the traditional (java)
True - but Gcj *does* supply a VM in the traditional (java) sense.
I guess not enough people know this.
> Instead, gcj provides a library with important functions that
> take the place of the VM. (Can an application be statically linked
> against libgcj so that the target platform doesn't need libgcj or
> loadable library support?)
Yes (except I would not phrase it like that).
Gcj aims to be a *complete* Java solution. It supports an
ahead-of-time compiler (.java->.class, .java->.o, .class->.o), an
interpreter, a useful subset of the standard Java classes, two native
interfaces (CNI and JNI), and a debugger (Gdb). Limited manpower (and
visibility in the Free Software community) means lots of things are
missing, but that does not mean we would not like to add them. (For
example an optional JIT, complete AWT, other classes, JNI invocation
API, improved debugging support, more code optimization, flexible