[Java-gnome-developer] Java-Gnome: jni or cni

Alessandro Polverini alex@nibbles.it
Sat Mar 13 23:52:00 GMT 2004

I'm not a contributor too, but I'm a (quite experienced) java developer.

I just want to subscribe everything Elias wrote on this mail, I
completely agree.


On Thu, 2004-03-11 at 20:04, Elias Martenson wrote:
> tor 2004-03-11 klockan 18.44 skrev Mark Howard:
> > 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?
> I'm not a contributor (yet?), and I'm currently merely playing around
> with Java-GNOME. However, I like it very much.

> I am what could be considered an expert Java programmer. This is,
> however, not the place to publish ones resumé. I do have 7 years of Java
> development experience.
> Reading peoples suggestions calling for CNI makes me very frightened.
> I'll try to explain why:
> In the current environment, Sun controls Java. I am not going to go into
> whether this is good or not, but this is the way it is. Sun releases a
> new version of java every 18 months or so, and every time they do there
> are huge improvements. With 1.4 we got the IO channels, giving us
> multiplexed IO and memory mapped files. 1.5 gives us the largest set of
> improvements to Java we have ever seen, including generics, covariant
> return types, shared VM's, etc... GCJ and CLASSPATH has to play the
> catchup game all the time, and I don't think I can even use the 1.4 IO
> channels in it yet.
> Even if you don't use the new features yourself, what are you going to
> do if your JDBC driver uses some new features? Don't forget that one of
> the great strengths of Java is it's great open source community where
> you can find pretty much every component you'd ever want freely
> downloadable. Going CNI-only would severely limit the number of 3'rd
> party component you'd be able to integrate.
> The fact that Java is heavily dynamic (sandboxed execution, etc...) is
> an enormous advantage, and I fail to see how an experienced Java
> developer who uses these things could ever even consider turning the
> back on everything that is Java, just to gain a little perceived
> performance.
> Speaking of performance advantage, has anyone even done any benchmarking
> to decide how much of a performance difference we're talking about here?
> Since Java is dynamic, I can, at runtime, detect whether Java-GNOME is
> available, and select a Java-GNOME or a Swing-based user interface at
> runtime. This makes it possible to ship an app that is both native
> GNOME, and completely cross-platform (naturally, the practicality of
> this depends heavily on the type of application). This app can still use
> the same features available to all application running on the Java
> platform.
> Another thing: with Linux making more and more inroads into the
> enterprise, things like JMX become increasingly important. How would you
> go about hooking a GCJ-compiled application into a JMX container? My
> guess it would be difficult at beast, if not completely impossible.
> That's just one of many examples.
> In summary, I don't think many of the pro-CNI people really use Java to
> its fullest extent. I certainly want all the 1.5 features _and_
> Java-GNOME. If Java-GNOME went CNI-only I myself would probably go back
> to Swing.
> Regards
> Elias Mårtenson

This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
java-gnome-developer mailing list

More information about the Java mailing list