Java SE 8 and a final version of OpenJDK 8, with support for lambda expressions, are expected to be released on March 18, according to Oracle, which oversees the language and platform. The lambda support is the biggest functionality addition to Java since the inclusion of Generics in Java SE 5.
Georges Saab, vice president of software development at the Java Platform Group inside of Oracle, as well as the chairperson for the OpenJDK committee, said that Java 8 is all about expanding the power of developers.
“We’ve been trying to evolve Java in a way that brings more power and choice to Java developers while still feeling very natural,” he said. “It makes it simpler to program, increases the power, and in conjunction with the Strings API, gives you a way to do a pipeline of things, so it’s really clear. The boilerplate code is reduced. The intent of what you’re trying to do is cleaner. It means it’s more maintainable going forward.”
That new Strings API is just one of many additional APIs inside of the Java language’s core set of libraries and capabilities.
Since April 2012, Java SE 8 and OpenJDK 8 have been focused almost entirely on the new lambda expressions. While there are numerous other features and bug fixes in this release, the desire to support lambda expressions was the reason the project’s releases were delayed beyond last summer when it had become feature complete.
But with this forthcoming release, lambdas will see first-class support across Java. Gil Tene, CTO and cofounder of Azul Systems, said that OpenJDK 8 will not only offer lambdas to users, it will use them internally to optimize the Java platform.
Most important, he said, is “The fact that lambda expressions are a first-order thing in the JVM. Unlike in Java 7, in Java 8 we’ll see Java itself make use of [lambdas] in the very significant core libraries, and in the Parallel Collections and Stream APIs will make use of lambda expressions. Java 8 will have interesting language features,” which he said should experience faster uptake than previous new features in Java.