After years of promises and speculation, Sun finally made Java open source. All I can say is that it’s much too late. Sun has made some poor design and engineering decisions over the past few years which will continue to bite Java developers in the ass. I can’t begin to tell you how much I cursed Sun’s developers over the years, most notably a few years ago when I was working with their NIO library, first in 1.4.1 then in 1.4.2 and finally in 1.5 trying to make sense of their API and their subsequent changes. I’d go into detail, but then I’d get cranky.
Would an open source Java have made my life easier during those frustrating times? Probably. Twisted Python, upon whose protocol interface I based my Java NIO sockets API, is under an MIT license and kicked Java’s ass with respect to non-blocking sockets at the time. The major advantage was, and still is, its slick design. You didn’t have to write much code in Twisted to get a non-blocking server socket running. I still have nightmares about Java’s implementation.
But all that is in the past. Open sourcing Java won’t make much of a difference to the future. Certainly, I don’t care. Thankfully, I left the Java world almost a year ago and am now working in happy Python land. I don’t miss Java one bit, nor do I miss its tools, without which programming would have been far slower. No, Java can die a slow death for all I care. I’m done with it. Hopefully.