Tuesday, October 4, 2011

"JavaOne 2011": From Java SE, 2012, to Java 12: Java SE Roadmap

Despite concerns that it might simply be a rehash of this morning's JavaOne 2011 Strategy Keynote, I braved going into the heart of the "other" conference to attend the session "From Java SE, 2012, to Java 12: Java SE Roadmap" (Oracle OpenWorld 15902) in Conference Room 303 in Moscone South. It turns out that it was largely the same information as we heard at the JavaOne Strategy Kickoff, but there were some differences in the presentation style and it was nice to hear the same story told twice. It does seem that Oracle is committed to the advertised plan for Java SE.

One of the slides I found particularly interesting from this presentation was the slide on the relationship of Java and JavaScript in the future. This slide contained these three bullets:

  • "Java remains Oracle's primary focus
  • "Adopt JavaScript as primary scripting language"
  • "Work with community to optimize platform for non-Java languages"

The speaker (Henrik Stahl) talked about the same couple of reasons for Oracle pursing a JavaScript implementation on the JVM. Besides being useful in its own right for scripting purposes, they wanted a language with great differences from Java to force the developers of the JVM to think outside of the Java box when developing the JVM. For this latter reason, languages such as Scala and Groovy would not work because they are "too much like Java."

JDK 7 topics were briefly covered and included Project Coin (JSR 334), dynamic language support (JSR 292), fork.join framework, network and file system (JSR 203), security updates, internationalization updates, and other API updates. As discussed previously, JavaFX 2.0 is 100% Java APIs and now provides FXML for UI markuk with a visual editor for FXML. JavaFX supports integrated web content and integrates with Swing. NetBeans will continue to be the IDE that delivers Java SE and JavaFX support as those are released.

The JDK Roadmap slide showed in the Strategy Keynote was shown again here. I was much closer to the screen in the relatively sparsely populated classroom and could see it much better. The slide shows "complete Oracle JVM convergence" happening between 2013 and 2014 in conjunction with the JDK 8 release. That same timeframe (JDK 8) is planned for JavaFX 3.0, Lambda, Jigsaw, and JavaScript interoperability.

Another chart showed a table of JDK 8 "Proposed Content." Stahl said that they could deliver this by late 2012, but feedback from partners is that they need at least two years between releases to adapt and provide feedback. Current plan is to make releases regular every two years. The items listed in the table as proposed JDK 8 content included Project Jigsaw, Project Lambda, Oracle JVM Convergence, JavaFX 3.0, JavaScript (Project Nashorn), Device Support, Developer Productivity (JSR 308), Date/Time (JSR 310) and other API updates, and open sourcing in OpenJDK of additional closed components. Speaking of JavaScript and Project Nashorn,Stahl stated this was introduced at the Java Language Summit and that it'd result in Java being able to call JavaScript and vice versa.

Meta-object protocol, a "long list of JVM optimizations", and "calls between Java amd Native without JNI boilerplate" are all things tentatively planned for JDK 9, though the section was prefaced with the disclaimer that some ideas may turn out to be bad ideas and not be implemented. For could, the vision is to have a "hypervisor aware JVM" with "JDK9+" that supports cooperative ballooning, cooperative memory page sharing, and cooperative lifecycle. The embedded world already does this.

Other visionary things being discussed in Oracle for Java's future include large data support (JDK 9), unified type system with only objects and without primitives (JDK 10+), true generics with reificiation (JDK 10+), and data structure optimizations such as structs and multi-dimensional arrays (JDK 10+). The speaker spoke on "integration" vision that includes modern device support such as multitouch (JDK 8).

Stahl made it very clear that Oracle does not intend to add any new "feature work" for Swing or AWT and recommended moving to JavaFX as the Java client-side technology. The speaker also stated that public support of JDK 6 (including for security updates) will end in summer/late 2012 with the "last public JDK 6 update." He pointed out that customers can still get support through various products' vendors including Oracle.

The presentation's final slide was the roadmap slide corresponding to the presentation's title. The speaker stated that the purpose of this slide is to show that Oracle is thinking about Java's long future and is committed to the language and to the platform.

Conclusion

Although many of the slides and much of the content and even some of the jokes were the same in this presentation as in this morning's JavaOne 2011 Strategy Keynote, I am happy that I attended this Oracle OpenWorld presentation. There was plenty of room to stretch out, it was easy to get close to the screen, and it was nice to hear some details again and to hear some additional details. Furthermore, it was interesting to see how stark the differences between a JavaOne attendee and an Oracle OpenWorld attendee really are. JavaOne attendees tend to wear jeans and use backpacks while the Oracle OpenWorld attendees seemed to have brief cases and wear suits and very few wore jeans. It's now time to sneak back to JavaOne.

4 comments:

David Young said...

Thanks for this very helpful overview of the Java roadmap! I wasn't able to attend JavaOne this year and appreciate your summary and commentary.

@DustinMarx said...

David,

Thanks for taking the time to let me know that the post was helpful. I have "attended virtually" numerous JavaOne editions via blogs and articles and so have tried to repay the favor by posting what I think is interesting at this conference.

I'm happy to hear that this particular post was useful because it took the most effort to see.

Dustin

Thomas Haines said...

Thanks for the update - very interesting.

@DustinMarx said...

Thomas,

Thanks for taking the time to let me know this post was interesting. The slides for this presentation (PDF) are now available online.

Dustin