by Paul Krill

Java 8 officially arrives at last

news analysis
Mar 18, 20143 mins
Core JavaDevelopment ToolsJakarta EE

New features and upgrades shift Java toward a functional programming paradigm

Marking a watershed moment for Java programmers, Oracle today is releasing JDK (Java Development Kit) 8, accommodating lambda expressions and representing a shift in how developers approach the language.

Based on the Java Platform Standard Edition 8 specification, JDK 8 features Project Lambda support allowing for functional programming capabilities. “With Java 8, it’s a huge shift in how you code,” says Java developer Yoav Landman, CTO at JFrog, which provides tools for managing binaries. With JDK 8’s lambdas and method references, the API moves to a functional paradigm, much different from the imperative paradigm Java has used so far. “When you work with functional [languages], you decompose the problem to different functions values, and you pass values between those functions.” The program thus becomes easier to debug, says Landman.

JDK 8’s lambda capabilities are indeed a big change, and they should be seen as a benefit to parallel programming, says IDC analyst Al Hilwa. “There is no doubt that the change in syntax related to lambda expressions is the biggest new thing in the language and likely to have the most impact in the future. … However, lambda should be seen as part of a set of features designed to improve the ability of the language to accommodate modern architectures in terms of increasing parallelization in software.”

For example, the Streams API focuses on parallel processing of large data sets, and Project Nashorn’s faster JavaScript engine is all about performance in server workloads.

Previously due last September, JDK8 was delayed so developers on the project could work on improving security, a thorn in the side of Java in recent years. Project Jigsaw, which provides modularity, was cut from the release, then deferred until Java SE 9. “For us, it’s a little disappointing” to see Project Jigsaw postponed, says Landman, whose company deals with modules and packaged systems and would benefit from this capability. A Stripped Implementations feature, for building specific versions of Java packaged with the Java library and application code, also has been proposed for the JDK 8 chopping block.

A recent survey of nearly 3,000 Java developers by middleware vendor Typesafe found that 29 percent plan to upgrade to version 8 within six months, and another 25 percent plan to make the move within 12 months. But 32 percent had yet to evaluate the new release. Meanwhile, 22 percent were still using the outdated Java SE 6, released in 2006.

JDK 8 was offered as a developer preview in September and as a final release candidate in January. Although Java 8 will be available today, Oracle will hold an official launch webcast on March 25.