'We broke a few things and will continue to do so... in a careful way' – Oracle's Reinhold on Java renovation work
Language is still free, it's the support that will cost you plenty
CodeOne The perennial Oracle OpenWorld sideshow previously known as JavaOne flowered again on Monday under a new name, Oracle Code One. The rebranding, as Stephen Chin, director of the Oracle developer community team, said in April, represents an effort to create a "bigger event that’s inclusive to more languages, technologies, and developer communities."
Nonetheless, the Monday evening keynote opened with Georges Saab, veep of development for the Java platform group at Oracle, urging the audience of developers to call out to "a gentleman who did a previous keynote earlier today who's still backstage," presumably a deferential reference to Oracle executive chairman Larry Ellison who addressed an OpenWorld audience a few hours earlier.
So it was that Saab led the audience in a caffeinated code chant of "Java, Java, Java." It fell short of Ballmeresque levels of manic intensity, but it was a sufficient demonstration of groupthink to be unnerving.
Other programming languages received nods of acknowledgement and should get more time in the spotlight at the Tuesday evening keynote. But Monday's speechifying focused squarely on Java, an entirely unsurprising turn of events given last year's declaration of Java primacy by Mark Cavage, then veep of software development at Oracle: "We want the next decade to be Java first, Java always," he said last year
Rafer Hazen, manager of the data pipelines team at GitHub, took a turn on stage to explain that GitHub loves of Ruby but not for its data pipelines.
"What did we choose? Given the venue this probably isn't too surprising but we went with Java," he said. "Java's strengths in parallelism and concurrency, its performance, its type system and its massive ecosystem all make it a really good fit for building data infrastructure."
Enterprise Java caretakers float new rules of engagement for future feature updatesREAD MORE
Saab then reiterated Oracle's commitment to Java and discussed the challenge of dealing with an increasingly broad Java community.
"Just as Java has grown, the ecosystem has grown with it," said Saab. "And this results in a virtuous circle that we all benefit from. A community this size brings a lot of possibilities but it also brings a lot of challenges, such as conflicting needs from different users."
Saab said Java's development happens in public in the OpenJDK. He recalled commitments made last year at the show then called JavaOne to make Java more open, to deliver more incremental improvements, and to provide better enterprise support.
"JDK 11 has the most involvement from outside of Oracle we've on any release of Java, ever," said Saab.
Move fast and try not to break things
Efforts to deliver Java improvements on a regular six-month cadence, in keeping with the rapid release cycles for other programming languages, have succeeded, at the cost of breaking some things.
"We're evolving the Java platform at a more rapid pace," said Mark Reinhold, chief architect of the Java platform group at Oracle. "We're doing this in order to keep up with competing platforms. We have broken a few things and we will continue to do so, but in a careful measured way, in order to make Java a better fit for modern applications."
Reinhold spent his time on stage examining various efforts to modularize and modernize Java. He reassured attendees that while the changes may be scary, they're not as scary as you might think. He also emphasized that Java is still free, despite changes in the way Oracle handles Java support.
"To establish a level playing field, Oracle has open sourced all of the significant commercial features that were previously available only to paying customers, including application class data sharing, Flight Recorder, Java Mission Control, and the Z Garbage Collector (ZGC)," he said.
"Oracle builds and OpenJDK build are at this point functionally interchangeable. This means that you can switch from one to the other as you please. It also means that all of this code is available under the GPL for anyone to build, test, publish, update, and support."
Reinhold addressed misconceptions about the new Java release model and delved into several projects intended to enhance the language. These include: Project Valhalla, an effort to make JVM memory usage more efficient and thus less costly; Project Panama, an effort to improve C APIs for interacting with the JVM; Project Amber, an attempt to make Java more terse through the addition of features like switch expressions and raw string literals; Project Loom, which introduces a lightweight alternative to threads called fibers that's more efficient for concurrent code.
"Java is about helping developers build and maintain large, reliable programs," said Reinhold. "The other big goal is program performance."
And if you say Java over and over, Larry may favor you. ®