Java-Gnome: jni or cni

Thomas Aeby
Sun Mar 14 22:36:00 GMT 2004

On Thu, 2004-03-11 at 18:44, Mark Howard wrote:
> The big question is: should we switch to CNI?

Actually you already know the answer. Will you rename the "java-gnome"
project to "gcj-gnome"? If not, stay with JNI, if yes, do this step
with all consequences - you are talking about a library, then, which
will not be available to generic Java programs/developers. One will
then have to decide

  1) do I write a platform-independent Java program obeying Java
     standards and do not use gcj-gnome


  2) do I write a GCC-program in Java language and make use of

(note the difference in writing a Java program and writing a program
in Java language)

>From my point of view 2) is a silly decision, anyway - if you give up
the advantages of the Java environment in the design phase of a software
project you are better off with using C++ (or whatever else), anyway.
Why would one prefer Java - maybe because there are plenty of 3rd-party
class libraries  around, the code is platform-independent (somehow :-)),
there are plenty of development tools around, because of its dynamic
class loading, because of all this J2EE stuff around, etc. ... So if you
know from the start of your project that you won't be able to make use
of all this stuff (since most of it won't run with gcj, anyway) why
would you choose Java at all? Certainly not because of its syntax, I
assume, and certainly not because of Gnome, since building Gnome apps
does certainly never require you to use Java.

My personal motivation for using Java and GCJ is that my software
actually runs natively compiled with gcj as well as with pretty every
bytecode JVM. In order to achieve this I had to avoid many available
3rd-party libraries (like e.g. JNDI), had to put much effort in solving
issues with others (e.g. find out that the MySQL and PostgreSQL JDBC
stuff still works even when you omit the few classes GCJ won't compile).
I certainly - in search for liberty and freedom to use the environment
that works best for me - won't ever choose to use a library that nails
my app to one single available Java environment, especially if this one
single Java environment is far to offer complete Java support and hence
must be considered a risk factor from the start.

So ask yourself the question for who you actually build java-gnome
(or gcj-gnome) and if you really want to make such efforts for a few
people if you can actually reach maybe 50 times more people with little
more effort.

You already answered this question:

> Alternative java guis - we want people to choose java-gnome:

Unless your name's Microsoft(TM) you should not expect you can
successfully promote people using a library which is incompatible
with everything than one single development/runtime approach out
of a hundred others they might want to choose.

Best regards,
Thomas Aeby, Kirchweg 40, 1735 Giffers, Switzerland, Voice : (+41)26
Internet:                           PGP public key
The more laws and order are made prominent, the more thieves and
robbers there will be.
		-- Lao Tsu

More information about the Java mailing list