[coyotos-dev] Accept GCJ into the tool chain?
Jonathan S. Shapiro
shap at eros-os.com
Sun Nov 26 13:40:08 CST 2006
There is code in our tree that would benefit from using a language like
Java or C#. Specifically, from a language providing safe pointers,
garbage collection, and exceptions. Because of this, it was unfortunate
that we could *not* rely on Java for anything in the EROS tree. There
were several reasons for this:
1. The JDK was not openly available. This meant that the cost of
bringing up an EROS-hosted Java runtime was prohibitive.
2. There was no alternative that was sufficiently mature. The GNU
ClassPath library was in its early stages and proceeding very slowly.
The Kaffe VM was insufficiently mature. GCJ didn't yet exist in usable
3. Our build model was (and remains) heavily dependent on traditional
UNIX tools such as "make". The Java build model and execution model
wasn't terribly friendly to our build environment.
Two critical things have changed since then:
1. GCJ and ClassPath have made huge strides. The current version of GCJ
has been used to compile some very large systems, most notably Eclipse.
This means that GCJ is probably usable enough for our purposes. The next
version (4.2) will move forward to a ClassPath library that is very
nearly functionally complete. This addresses points (1,2,3).
2. Two weeks ago, Sun announced a plan to release Java SE and much of
the class library under GPL (http://www.sun.com/2006-1113/feature/). It
is unclear what they will be forced to withhold from the class library,
but it is likely that a community will rapidly emerge to replace
whatever items must be withheld. This addresses points (1,2).
So: should we now consider adopting Java as a significant language for
application development in Coyotos?
More information about the coyotos-dev