CHANGELOG and documentation

Matt Welsh mdw@cs.berkeley.edu
Sat Apr 1 00:00:00 GMT 2000


Hello all,
Can I make a few suggestions that might help make the status of gcj
development more obvious to newcomers? Even though I follow these mailing
lists closely, I often have problems keeping track of all of the activity.
Also, I'd rather not download and build the latest and greatest gcj
snapshots all the time, since I'm essentially doing deep hacking within
the gcj runtime and this exposes me to instabilities in the code.
First, I keep seeing references to various nice features of later versions of
gcj, however, as someone doing ongoing development using gcj it's hard for
me to track what's changing from release to release. Would it be possible
to post the CHANGELOG for both the 2.95.1 branch and the snapshot branch
somewhere on the website?
Another question I have is about gij. I tried unsuccessfully to use this
a couple of months ago, and I remember it being significant work to get
to the point where I had a gij-enabled build and test environment. At the
time gij didn't appear to work at all; it would simply crash. 
Although I've asked before, I'm still quite unclear on what gij does and
how it works. Does it impose a performance hit? Does it allow dynamic
class loading? Is all code interpreted or only some "bootstrap" code? 
Is there documentation anywhere? If not, would it be possible for 
someone with the appropriate experience to write it up and post it?
I like the informal nature of the FAQ and how it's been updated with some
postings to this list; that's good. Still, it would be nice to have a more
comprehensive list of missing features from gcj and libgcj. Such a list
would help newcomers know in advance what they're getting into -- and
also encourage those who want to do some hacking by pointing out the major
areas that need work. Right now it's very hard to tell what works with gcj
and what doesn't. Perhaps someone should also post their positive gcj
experiences so we can demonstrate that gcj really does work. As it is now
gcj's a real "black box" until you've spent some time playing with it!
Here's the start of such a list - feel free to put this on the website and
invite contributions. For each of these bullets there should probably be
an explanatory note as to why the feature is missing and what it would take.
GCJ and libgcj missing features (1/18/2000):
	* Inner classes - only when compiling from source. Compiling inner
	 classes from bytecode works. [Is that true?]
	* Reflection (java.lang.reflect.*). [Can someone elaborate?]
	* Object serialization (java.io.ObjectInputStream and 
	 java.io.ObjectOutputStream classes). There are several free
	 implementations of this which could be incorporated.
 	* Remote Method Invocation (RMI). A full RMI implemention relies
	 upon reflection, serialization, as well as a set of other libraries.
	 See FAQ section 2.6 for details.
	* Java Native Interface (JNI). GCJ uses its own native interface,
	 CNI, which is easier to use and to debug. However, JNI support
	 should probably be added eventually. See FAQ sections 2.2 and 2.3.
	* Dynamic class loading. [What are the issues here? Does gij 
	 effectively solve this problem? If so is there a performance hit?]
	* AWT. There are free AWT implementations, but they depend upon
	 JNI. See FAQ section 2.4.
	* Swing. This depends upon AWT. Since Swing is implemented 
	 entirely in Java, it should be possible to use it once AWT is
	 there, however, there are licensing issues. See FAQ section 2.5.
	* [Others?]
Of course, the web page should mention that volunteers are sought to work on
these missing features! 
Do others think that some of the above things would help?
Cheers,
Matt Welsh


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /