
John said:
Despite the myths, java is not "write once, run anywhere". If you develop on one particular version of one particular vendor's virtual machine, your program may behave differently on other versions or other vendor's implementations. I've seen this... a graphical app 1) left mouse trails 2) drew text everywhere when dragging a text thing around 3) sometimes didn't render text when used on a different JVM (in this case, Apple's one). Now, some people will say that this is our java developer's fault for using non-portable constructs, or not testing enough, but then this isn't that much difference to writing in another language, like c++ with qt or wxwindows.
Swing has rectified many of these problems. There has also been a complete change in the focus policy.
I wanted to try a java program on my home machine once. So I did what you suggested, I went to sun and downloaded some massive java runtime environment for linux x86, since debian aren't allowed to redistribute it.
Debian chooses not to.
After an eternity downloading, it didn't work. Any attempt to invoke the interpreter caused a bus error. From my attempts at debugging, it appeared to have problems doing some basic libc stuff. I suspect this is because it was built and dynamically linked against red-hat specific versions of things, and the libc in my distribution was sufficiently different to red hat's version. Maybe you're lucky that your slackware version of libc is sufficiently close to their version for things to work. But I merely removed java in disgust.
You have my sympathies. Here is _old_ info from Sun re 1.4.2 that it supports on IA32 Linux: IA32 Linux ---------- Red Hat Enterprise Linux WS 2.1 Gnome-sawfish 1.0 Red Hat Enterprise Linux ES 2.1 Gnome-sawfish 1.0 Red Hat Enterprise Linux AS 2.1 Gnome-sawfish 1.0 SUSE 8.0 Gnome-sawfish 2.0 TurboLinux 7.0 Gnome-sawfish 1.0 SUSE Linux Desktop (SLD) 8 Gnome2-metacity 2.4.34 SUSE 8.2 personal Gnome2.2-Metacity 2.4 Red Hat Enterprise Linux 3.0 WS Gnome2.2-Metacity 2.4 Red Hat Enterprise Linux 3.0 ES Gnome2.2-Metacity 2.4 Red Hat Enterprise Linux 3.0 ASGnome2.2-Metacity 2.4 Sun Java Desktop System 2003 Gnome2-metacity 2.4 SUSE Linux Enterprise Server (SLES) 8 Gnome2-metacity 2.4 SUSE 9.0 professional Gnome2.2-Metacity 2.4 This should enable you to verify what libc you need. This again is a Debian problem because the libc above is pretty standard and uptodate.
To (2): Yes. Let us hope that if it happens, we get a license similar in spirit to that of freedom, that Sun is given the respect it deserves and is able to profit fairly from it.
If they don't make java free enough for linux users and distributions to redistribute it, people will use the alternatives, and java will remain a platform that has some use in some enterprise servers and a tiny niche on the desktop, instead of a platform that has hundreds of thousands of open source developers writing java apps for linux that happen to work on any other supported platform.
Again I ask, apart from Debian, what major distribution has an issue. Cheers, Sid.