On Tue, Nov 14, 2006 at 11:27:36PM +0100, Matthias Kilian wrote:

[snip]

> It does not run on arm/OpenBSD. It does not run on powerpc/OpenBSD.
> It does not run on vax/OpenBSD. Heck, it even behaves differently
> in on i386/Linux, i386/Windows, sparc/Solaris and pSeries/Linux,
> and to this platform diversity the vendor diversity (Sun vs. IBM)
> yet adds more subtile differences, especially if it comes to threads
> or GC behaviour.
> 
> Believe it or not: Java is *not* platform independent, at least not
> in so-called "enterprise" environments.

[snip]

> Ciao,
>       Kili, making a life with Java since about 1998.

Java, the language, is an open specification that can be implemented by
anyone.  Java, the brand, requires the implementor to license Sun's
test suite (for like $10,000 if memory serves me) and pass the tests
in order to use their logos, etc.  The Java Virtual Machine is also an
open specification that can be implemented by anyone.  Not every part
of the system is defined and various implementors have done certain 
things differently.  Also, the JVM must run on top of an operating 
system, so bugs in the OS may impact its performance.  The bytecode 
should be portable assuming that the JVM works as advertised.

I agree that Sun makes it a pain in the ass for people not running 
certain operating systems to use their Java tools.  Whatever.  Either 
deal with it, don't use it, work on one of the non-commercial JVMs or 
use a different OS for your Java environment.  That being said, I've 
run Blackdown's JVM and class libraries for Java2 rev. 1.4.X on BSD 
without issue.  Actually, that's not true I did run into some issues
with cryptographic classes (license validation), but it was easy enough 
to work around that problem.

Java may make certain classes of applications extremely easy to develop,
but it's not going to replace something like C.  Indeed, some Java 
classes in the standard class library require callouts to C routines via 
JNI.  Also, remember that Java was initially called Oak and was 
targetting the embedded space.  I'm not surprised there have been issues
in the non-embedded space.

http://ei.cs.vt.edu/book/chap1/java_hist.html

-Damian

Reply via email to