Monday, August 16, 2010

Gosling on Java's version of 'freedom'

So James Gosling is weighing in some more on the whole Oracle vs. Google lawsuit.  His take on the 'freedom' side of this isn't surprising, though it is rare to see.  He sees Java as providing the freedom to run applications 'anywhere', instead of the common open-source licenses.  And that's fine.  Though, I have to say, I think languages like Python, Ruby, and Perl have done a far better job, and in a much less annoying fashion.

I personally haven't had a pleasant experience with Java on any OS, though Linux and Windows have by far been the most annoying.  He does point out that Apple wrangled a deal to have their own distribution, but I don't think that makes it any better.  At best, Java apps on OS X still have a weird, not-quite-native feel on OS X, NetBeans being the best of breed that I've personally tried.  However, it still doesn't blend in well to the overall environment.  That's not as much of a problem on Linux and Windows, where there really *isn't* a sense of continuity between all the applications on a system.  For their part, getting Java to work on Linux is an exercise in frustration and tedium (even a simply plugin for Firefox 3, where these directions didn't work), and on Windows it becomes a maintenance nightmare, balancing many different versions in order to retain compatibility with legacy systems.

Now, I know there are people who love Java.  That's fine; if you're more productive in it, I'm not trying to change your mind.  But for myself, I haven't gotten any of the benefit out that Gosling is talking about.  The more traditionally 'free' programming languages have served me far better in this respect, and on UNIX-like environments feel far more...native.  There's certainly benefit to having highly portable code, but the power of consistency on a given platform just cannot be ignored.

One thing's for sure - this lawsuit was shopped by Jonathan Schwartz from the beginning of Sun's end, and I don't think it bodes well for anyone, but especially the Java/JVM ecosystem.  I have to wonder what this will mean for all the hot new platforms that run on the JVM, like Clojure and Scala - from what I can tell, they look genuinely exciting, but is it worth risking Oracle's patent gun?