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