Java in Ubuntu !!!

blastus ulist at gs1.ubuntuforums.org
Mon Aug 29 09:58:23 UTC 2005


GNU Classpath looks like a good project but I just don't see it being
practical. Firstly, Sun's runtime is the defacto standard. If you are
distributing Java applications you'd better make sure they run on Sun's
runtime because almost everyone expects you to use it. If anyone is
using Java software on their computer, chances are they are using Sun's
runtime. By using GNU Classpath, you're basically going to force those
users to have two runtimes on their machines--one runtime to run I
don't know, 95% of the Java software on their machines, and another
runtime just to run your application. Secondly, Java 5.0 has been out
for how long, over a year now? It includes significant changes since
1.4.2 including many features that I use such as Generics,
java.util.concurrency, etc... Does GNU Classpath support these
features? Thirdly, what about hardware dependent extensions to Java
such Java 3D, JMF etc...? Are these supported?



I will try GNU Classpath, but I highly doubt my Java projects will
compile against GNU Classpath. I just don't see how GNU Classpath
"unshackles" my Java projects from the "Java trap." Firstly, Sun's
implementation is proprietary, yes, but they are also the creators of
the language and they have a right to protect it from being fragmented
by corrupt companies like Microsoft. Unlike Microsoft and .NET, Sun is
open source friendly and they support Java on several platforms--but
not all. Secondly, Sun's implementation is free as in free beer you can
download it for free, it has always been free and there is no indication
that it will not be free in the future. The fact that it can't be
distributed with Linux is not a big deal since it can't even be
distributed with Windows. I do agree though that it would be nice if
Sun would open up and GPL Java...maybe they will in the future...it
would sure help boost Java marketplace. Thirdly, Java applications can
be easily decompiled and recompiled. One notable exception is if the
code has been run through an obfuscator--it makes it more difficult to
decompile. I only use GPL/LGPL Java libraries with my Java projects so
I always distribute the source code with it. Since we're talking about
free and open source software here, any Java applications you may run
will have the source distributed with it. I really don't see how the
act of using the GNU Classpath JVM versus Sun's JVM unshackles
anything. You've got the source code, just recompile it.



But therein is the catch. Since GNU Classpath is not 100% compatible
with Sun's runtime then code that compiles under one may not compile
under the other. From my perspective this just gives me more work. Now
I would have to make sure that my stuff compiles under both runtimes.
Sure, I use Ant like everyone else, but still, why should I bother
checking for compatibility against two different runtimes? Since GNU
Classpath is not 100% compatible with Sun, do they have their own Java
docs for the APIs? If not I wouldn't even consider using it because I
depend on the Java API documentation--I expect packages, classes,
methods etc... to work as documented.


-- 
blastus




More information about the ubuntu-users mailing list