[kaffe] Java-Gnome: jni or cni

Chris Gray chris@kiffer.eunet.be
Fri Mar 12 00:11:00 GMT 2004

On Thursday 11 March 2004 18:44, Mark Howard wrote:
> Dear Java Developers,
> I am writing to you on behalf of the java-gnome project for advice
> regarding a major change we are currently considering. I apologise if
> this is off topic for this mailing list but we really need input and you
> are the most knowledgeable open source java developers; it may also
> help determine whether we will be using your projects in the future.
> Sorry for cross posting - we think members of each list are likely to
> have different opinions on this topic and want to hear them all.
> The big question is: should we switch to CNI?


> Java-Gnome is a set of libraries for creating GTK/GNOME based
> applications in java. It is different from SWT in that it aims to
> implement the entire gnome libraries so will be able to create
> applications with integrate fully with gnome. It is different from swing
> in that it is completely free and has a high quality graphical interface
> builder tool (glade).
> At the moment, java-gnome uses jni to communicate with the gtk/gnome
> libraries. This works well with good performance but makes the build
> process very difficult and also makes the task of application developers
> more difficult since they are trying to support many jvms.

I'm a bit puzzled by this statement.  Almost all VMs support JNI, and the few 
that don't (e.g. Jaos) cannot run C++ code in any shape or form (but Jaos can 
run Oberon code with 0 overhead :->).  So if you want to support many JVMs 
then JNI is the way to go.

Of course if you want to restrict your code to running on only one Java 
implementaion then this will in a sense make your life simpler.  It will of 
course also make life simpler for anyone planning to use a different 
implementaion -- they don't need to take the time to evaluate your solution.

Frankly this sounds to me like the worse kind of embrace-and-extend; it will 
result in the emergence of a set of "Java" programs which run only on certain 
implementations of Java.  Hm, hasn't that been tried before?

Some people inside Sun seem to think that open source Java is a Bad Idea, 
because it risks fragmenting the language.  Until today, I thought they were 
just imagining things ...

Stay cool everyone,


Chris Gray                                  chris@kiffer.eunet.be             
            +32 477 599 703

More information about the Java mailing list