JavaOne Kickoff: Java 9 Spotlight and a Birthday Visit

The annual JavaOne conference got underway on Sunday with a two-hour keynote opener that covered upcoming changes in the Java language and platform and celebrated Java's 20th anniversary with history-of-the-platform video clips, a cake and a video message from Sun Microsystems co-founder Scott McNealy.

Georges Saab, Oracle's vice president of development, hosted the kickoff keynote.

Mark Reinhold, chief architect in Oracle's Java Platform group, took the stage to talk about the evolution of Java in general and specific improvements coming in Java 9. "The goal is always to keep improving developer productivity over time while retaining Java's key values of readability, simplicity, universality and compatibility," he said.

The big change coming in Java 9 is the long-anticipated implementation of a Java-native module system known as Project Jigsaw. The OpenJDK project is sponsored by the Java programming language Compiler Group, and was originally aimed at modularizing just the JDK. The system will ultimately apply to the Java SE, EE and ME platforms, as well as the JDK.

Modularization will relieve two acute pain points that have been plaguing Java developers for years, Reinhold told JavaOne attendees: the "brittle and error-prone classpath," and the "monolithic JDK, a large system that doesn't scale and is difficult to maintain." "Classpath Hell," also known as "jar hell," is so infamous, Reinhold pointed out, that it has its own Wikipedia entry. "Modules are the key to escaping classpath hell," he said.

Creating a modular system that is capable of addressing developer needs and modularizing a large existing platform has taken several years to get right, Reinhold acknowledged. Project Jigsaw was launched in 2008 and had been expected in Java 8. It was delayed, Reinhold announced in a 2012 blog post, due to "significant technical challenges." Both Generics (Java 5) and Lambdas (Java 8) were also years in the making, Reinhold pointed out.

Reinhold said that his group has thought long and hard about the challenge of migrating to a modular system, and took pains to make the path a flexible one. "When we introduced Generics, we did it in a way that did not require everyone to convert to Generics at once," he said. "We've tried to do the same thing with the module construct."

In August, Oracle responded to concerns about how modularization would affect unsupported, internal APIs -- especially sun.misc.Unsafe -- with JEP 260: Encapsulate Most Internal APIs. This JEP would make most of the JDK's internal APIs inaccessible by default, but leave "a few critical, widely used internal APIs accessible until supported replacements exist for all or most of their functionality."

"Some features, like Lambdas (added in Java SE 8) are like jet packs," Reinhold added. "They're cool and powerful and do amazing stuff right off the bat.... Modules and are more like seat belts -- seat belts that allow you to do important things faster."

Oracle's Java language architect Brian Goetz also took the stage to talk about "long-term investments," features and projects that are aiming low "where the JVM meets the underlying hardware and the underlying operating system." He highlighted two projects likely to affect Java 10 and even 11: Project Panama, which is "about optimizing the intersection of the JVM with native code and native data," and Project Valhalla, an OpenJDK project for advancing some of Goetz's (and others') ideas, including a major overhaul of Java's generics, a new approach to generic typing, and new support for value types.

Michael Green, vice president and general manager of Intel's Software and Services group, appeared at the event to announce that Intel's Internet of Things (IoT) developer kit will now support Java. He also revealed that Intel is joining the OpenJDK standards body.

The keynote opener also included Robert Clark, Oracle's senior director of IoT, who threw a spotlight on his company's efforts to keep Java -- via Java ME -- relevant to developers working on systems and software for the IoT. He reminded attendees that Java was originally developed as technology for devices, and that it is currently used in billions of embedded devices, from television set-top boxes to printers. Clark described Java ME as "a perfect platform for developing IoT applications."

The presenters wrapped up the opening keynote with a surprise video from Sun Microsystems co-founder and former CEO Scott McNealy, who recalled for attendees Java's origins in the hands of its creator, James Gosling. He also shared a 2015 edition of his once infamous top-10 list, which turned out to be a top-12 list, "Java Developer Nightmares." These included "You love open source software and sharing, but you work at Oracle;" "James Gosling is working at Liquid Robotics, not at Oracle;" and "Entry-level developers are not in the top income brackets."

This year's JavaOne conference runs Oct. 25-29 at the San Francisco Marriott Marquis. The event comprises more than 400 technical sessions organized into 8 learning tracks: Core Java Platform, Java and Security, Emerging Languages, Java DevOps and the Cloud, Java and the Internet of Things, Java and Server Side development, Java Clients and User Interfaces, and Java Development Tools and Agile Techniques.

The JavaOne conference runs concurrently with Oracle OpenWorld. The two events are expected to draw more than 60,000 attendees.

About the Author

John K. Waters is the editor in chief of a number of sites, with a focus on high-end development, AI and future tech. He's been writing about cutting-edge technologies and culture of Silicon Valley for more than two decades, and he's written more than a dozen books. He also co-scripted the documentary film Silicon Valley: A 100 Year Renaissance, which aired on PBS.  He can be reached at [email protected].