Write once, run everywhere. That’s what Java promised, but it’s not what it delivered. Different major vendors, from BEA Systems (now part of Oracle) to IBM to JBoss to Oracle to Sun (also now part of Oracle) had different interpretations of the Java specifications, and also wrote their own extensions. Not only that, but many years ago Java itself trifurcated into three branches: Java Standard Edition for desktops, Java Mobile Edition for small-footprint devices and Java EE for application servers.
Because each company that implemented a Java system had its own priorities, its own interpretation of the specs, its own extension and its own timeline, Java fractured and forked. Java EE applications wouldn’t work in SE environments, and Java ME barely worked on the mobile phone platforms on which it was intended. For a platform that promised write once, run anywhere, there were certainly an awful lot of places where this wasn’t true.
But with the consolidation of the Java brain trust inside of Sun has come a potentially exciting future for the language and platform. As Oracle winnowed down the staff working on Java, the remaining Java crew at Oracle seems to have a much tighter focus. And that focus appears to be the OpenJDK. (It’s hard to know exactly: Oracle is keeping very quiet about its intentions for the platform.)
With new projects being added to that effort after simple e-mail-based suggestions, rather than after extensive JCP meetings, the OpenJDK is the first major Java implementation that hasn’t been designed from the ground up with fragmentation as an apparent end goal.
Watching the OpenJDK evolve, we can’t help but wonder if, in three to five years, this will be a single Java to rule them all. Why bother building an entirely different Java for enterprises, when you can just create sub-projects for the OpenJDK, then include them in an installer targeted at businesses? Indeed, combining the three Javas into one would produce a platform that was as compelling, if not more so than most current rapid application development suites. And if Java can ever get RAD, we know that businesses will take notice.
One Java to rule them all. Perhaps it’s a fantasy like Tolkien’s “Lord of the Rings.” But wouldn’t it be nice if, finally, Java lived up to its most important promise?
Not evil, but not nice either
At Google’s annual developer conference attendees were treated to a different side of the search-engine giant. While Google claims its core business principle is “Don’t Be Evil,” this hasn’t prevented the company from preparing to go to war with its competition.
Google made a point of announcing at the Google I/O conference that Android, its mobile-phone operating system, could run Adobe’s Flash, and then demonstrated software to stream iTunes music to an Android-based phone. That’s certainly not the actions of a company that’s trying to be nice to Apple, its former close partner, which has famously forbidden Flash from running on the iPhone or iPad.