The schedule for Java 8, which is expected to be released in September 2013, has been announced. This may only be a list of milestone dates - but it is an indication that Java is moving forward.
The schedule comes from Mathias Axelsson, the lead release manager for the Oracle JDK and the first of them, M1, is less than two weeks away:
M1: April 24, 2012
M2: June 14, 2012
M3: July 30, 2012
M4: September 11, 2012
M5: November 26, 2012
M6: January 30, 2013 (FC)
Axelsson's tight schedule - he wants JDK 8 to be feature complete by the end of January 2013 even though it is not due to be released until September - is motivated by the need for thorough testing in order to be released bug-free. He reminds recipients of the email how Apache Lucene developers discovered a bug just a Java 7 shipped and so recommends allowing more leeway after the conclusion of testing and bug reporting:
Based on the proposed dates I would recommend that we set that date to early April 2013. Bugs reported after this date should be looked at (and hopefully fixed) as well but if the reports comes in too late it might not be possible to fix them within the JDK 8 time frame. Therefore I propose a proactive approach to test early and report the issues so we can prioritize the critical bugs as early as possible.
So what can we expect from Java 8?
Speaking at the launch event for Java 7 in July 2011 Mark Reinhold, Chief Architect of the Java Platform Group, said that in contrast with Java 6 and 7, 8 is going to be a "revolutionary" release with some "biggish things" in it that will bring new ways to write Java code.
As we reported back in 2010, in order to ship Java 7 within a reasonable time frame (as it was it appeared almost 5 years after Java 6) several features originally planned for it were shunted forward into Java 8, a strategy referred to a Plan B. The list includes:
A Java-native module system (“Project Jigsaw”) to simplify the construction, packaging, and deployment of applications
VM support for modular programming
Swing application framework- an API that wou;d eliminate lots of boilerplate code and providing a much-improved initial developer experience
Small language enhancements, i.e. remaining parts of “Project Coin” some of which were implemented in Java 7
The feature Reinhold sees as a "big one" is Project Lambda, which he claims will bring true closures to the Java language both syntactically and semantically. Not only will it provide useful librairies, this new toolkit, which relies on InvokeDynamic introduced in Java 7 and breaks up a program into units, will be a critical tool in dealing with multi-core processors.
If you want to know more about this and other features, they are discussed in this video by Mark Reinhold, John Rose, Consulting Engineer in the VM group and Joe Darcy Principal Engineer in the Languages Group and Adam Messinger, leader of the Java Development Team at Oracle from around 9 minutes onwards. Prior to that they discuss what already happened in Java 8.
Visual F# has moved from CodePlex to GitHub. Roslyn is also making the move this week and the .NET Core, open sourced last November, has already made its home there, along with TypeScript. So whe [ ... ]