21 October 2010

Java is dead! Long live Java?

Apple just released a new update for Java 1.6 (both for OSX 10.6 and OSX 10.5, available from Software Update), pretty much the same day Steve Jobs introduce us to a few features of the upcoming version of OSX, 10.7 aka Lion.

The theme of the presentation was "Back to the Mac". Triple layered meaning...
  1. Back to the Mac after spending so much time and energy on iOS and mobile devices
  2. Software improvements to OSX directly coming from the iOS experience
  3. Hardware improvements to the MacBook with the new incarnation of the MacBook Air, inheriting a lot of cool technology from the iPad.
The presentation is available directly from Apple's page. Skip the iLife stuff and directly go to minute 53' to see the OSX part. The App Store and Mission Control parts are really interesting.

Then, in my inbox, came the Java update. After a good news, a bad one (well, hopefully only half bad). 

Quoting Apple: As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated.

The full release note is here: Java for Mac OS X 10.6 Update 3 and 10.5 Update 8 Release Notes

Shocking news.

For translators on the Mac, Java applications are the key to freedom from Windows, even though a lot of "switchers" use the Mac mostly to provide their Windows environment with a stable virtual foundation... On the top of my mind, here are the mainstream applications that depend on Java and are vital for translators who do not rely on Windows:
If you read between the lines of the release note though, you can see that what is deprecated is no Java on the Mac in general, but "the version of Java that is ported by Apple, and that ships with Mac OS X".

With the recent acquisition of Sun by Oracle (Oracle makes massive use of Java), the opening of the JDK source by Sun a few years ago and the currently existing efforts to port that OpenJDK to the Mac, one can also see that move as a way for Apple to say that Mac users will not be left without Java on the Mac, because either Oracle or the OpenJDK community will eventually deliver something that Java users on Mac can still use to run their favorite applications.

In any case, it will eventually be possible to install a foreign (compatible) JRE on Mac that runs all our applications. I've tried a few days ago with Soylatte but I was not able to fully run OmegaT in it, and the windowing system was X11 (with all its UI glitches).

Still, as was mentioned today on the Java-dev list hosted by Apple, it is very unlikely that Apple will just remove Java from OSX. Java is big in education and multiplatform development and Apple has 20% of the PC share in the US as of today (cf the very first part of today's presentation). So Apple is probably thinking of something else.

In any case, right now I don't think Mac users of Java apps have anything to fear. They can keep their Snow Leopard Mac with the latest supported Java and don't have to upgrade to anything. We have about 8 months before Lion's release, hopefully Java we'll be there too in one form or another.

And apologies for the 10 months long blank on this blog...

(updated on 10/22)

New update (10/22): Steve Jobs hints at a different approach, via Hacker News: "Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it"