Thursday, September 30, 2010

Another JavaONE followup. After I blogged about what's going to happen with Java EE, it is time to recall what was said by Chief Architect, Java Platform Group, Mark Reinhold on the same general technical session on September 18.
After having the Java SE 6 release shipped in 2006 there had been several plans for Java SE 7. The last plan Sun was in charge of was to ship in 2010. This was before the Sun down. It’s been clear for some time that the most recent JDK 7 development schedule is unrealistic. The schedule was created over nine months ago, prior to the acquisition of Sun by Oracle. The post-acquisition integration process took longer than expected.

The most important quote from Mark's session was:

It will get the platform moving again, and that's good news. So, in answer to the question I posed at the beginning, 7 has moved to 2011. 8, we can expect in 2012. I won't make any guesses about 9, but the current hint is to have releases on a more regular cadence every 18, 24 or maybe 36 months at the outside. A platform like Java, in order to stay alive, needs to keep moving. We are going to keep it moving.
[...]
We are still doing all of this in OpenJDK as before. We are retaining the GPL version 2 license. There are no plans to change this, and we intend to submit JSRs for Java SE 7 and Java SE 8 and the relevant component such as Lambda and Coin as necessary.
(Mark Reinhold, JavaOne 10)

Main feature categories
To make this more concrete, Mark mentioned the following main feature categories for 7,8 and even 9:
- Productivity
Java is a fairly productive language already, but there are things that can help you get more done with less code.
- Performance
HotSpot and JRockit have very competitive performance from all the major VMs right now, but multi-core processors are still not supported like they should. Java can help with that.
- Universality
The Java VM, is not just for Java anymore. There are a lot of other languages that need support.
- Modularity
Modularity, the platform is big. Applications are constructed with these brittle class paths, full of JAR files that are difficult to diagnose debug and construct. That should be fixed.
- Integration
Java, from its beginning, has tended to be in its own sort of a little black box, and not relate particularly well to the underlying platforms upon which it is found. This should change.
- Serviceability
People routinely deploy thousands of VMs across thousands of machines that need some way to manage them all, and in particular, some way to diagnose a problem in a running system, that wasn't necessarily configured at startup time to be diagnosed in any special way.

Interpretation
It's good to have a roadmap again and the idea to come back to a regular cadence of releases. It's now on Oracle to prove that they can hold the promises. The not changing support for the OpenJDK and the general JCP is a sign, we all were waiting for. Also positive the non changing GPL version 2 license for the OpenJDK.
But there are still many many things left open. In general all the presented information were public and available since some time. Only the final commitment was missing. This is done now. But what about the other parts, the community is still worrying about e.g. the needed canges and/or Improvements to the JCP? Or the "Google Case"? Some questions still are open and need to be answered by the new steward of Java.

If you like, you can also watch the OTN TechCast replay. Mark talking about the JDK 7 roundup: