News: 1600196605

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Oracle's Java 15 rides into town, waving the 'we're number one' flag, demands 25th birthday party

(2020/09/15)


Oracle on Tuesday marked the arrival of Java 15, known as Oracle JDK 15 among those concerned about formalities and trademarks, in the 25th year of the programming language's existence.

"As Java celebrates its 25th birthday, we continue to make technical investments that drive Java innovation forward and help address the rapidly changing technology landscape," said Georges Saab, VP of development for Oracle's Java platform group, in [1]a statement .

Java, the database giant insists, continues to be the number one programming language used by 69 per cent of full-time developers worldwide, though others frame the matter differently.

In [2]TIOBE's September 2020 ranking of programming languages, Java is the number two programming language and isn't doing so well. "Java is in real trouble with a loss of -3.18 per cent in comparison to last year," said CEO Paul Jansen, who clearly isn't concerned that pedantic devs might read the loss of a negative value as an increase.

The [3]PYPL PopularitY of Programming Language Index shows less of a percentage decline, though still puts Java behind Python. And Redmonk's [4]July 2020 ranking of programming languages puts Java at number three.

Given doubts about the [5]methodology of these measurements, perhaps it's fair to say that Java is second to none, one or two. Check in next month after the US Supreme Court hears arguments in [6]Google v. Oracle to see whether that influences developer perception of Java.

Popularity contests aside, Java 15 comes with 14 new features, which is by design rather than an off-by-one error:

339:

[7]Edwards-Curve Digital Signature Algorithm (EdDSA)

360:

[8]Sealed Classes (Preview)

371:

[9]Hidden Classes

372:

[10]Remove the Nashorn JavaScript Engine

373:

[11]Reimplement the Legacy DatagramSocket API

374:

[12]Disable and Deprecate Biased Locking

375:

[13]Pattern Matching for instanceof (Second Preview)

377:

[14]ZGC: A Scalable Low-Latency Garbage Collector

378:

[15]Text Blocks

379:

[16]Shenandoah: A Low-Pause-Time Garbage Collector

381:

[17]Remove the Solaris and SPARC Ports

383:

[18]Foreign-Memory Access API (Second Incubator)

384:

[19]Records (Second Preview)

385:

[20]Deprecate RMI Activation for Removal

The more noteworthy enhancements include the production releases of the ZGC, a low-latency concurrent garbage collector, and Shenandoah, a different low-latency garbage collector, which minimize application pause times.

Also, the production release of multi-line text blocks provides a capability in Java long enjoyed in other programming languages. In statement, Bradley Shimmin, chief analyst at consultancy Omdia, cited multi-line text blocks among newly added features as evidence that Oracle is focused on the developer experience by "making Java not just more efficient but also more delightful to use."

You don't often see "Java" and "delightful"in the same sentence in the context of programming.

In a [21]blog post , Sharat Chander, director of Java SE product management, highlights the addition of support for the Edwards-Curve Digital Signature Algorithm (EdDSA), outlined in [22]RFC 8032 . "EdDSA is a modern elliptic curve signature scheme that has several advantages over the existing signature schemes in the JDK," he said.

Chander observes that this is the sixth Java release since moving to the six-month release cadence. The shift from mammoth releases every three years to biannual updates hasn't really altered Java's overall rate of change, he said, but it has allowed production-ready features to get to Java developers sooner.

Java 15 had 2,136 JIRA issues that were fixed, 1,702, or almost 80 per cent, from developers at Oracle and 434, or about 20 per cent, from developers working at other companies. For the first time, Chander said, DataDog and Microsoft contributed code changes.

Java 16 is scheduled for release in March 2021, assuming civilization is still standing at that point. ®

Get our [23]Tech Resources



[1] https://www.prnewswire.com/news-releases/oracle-announces-java-15-301130759.html

[2] https://web.archive.org/web/20200914165201/https://www.tiobe.com/tiobe-index/

[3] https://pypl.github.io/PYPL.html?country=US

[4] https://redmonk.com/sogrady/2020/07/27/language-rankings-6-20/

[5] https://juliacomputing.com/blog/2019/09/16/tiobe-blog.html

[6] https://www.scotusblog.com/case-files/cases/google-llc-v-oracle-america-inc/

[7] https://openjdk.java.net/jeps/339

[8] https://openjdk.java.net/jeps/360

[9] https://openjdk.java.net/jeps/371

[10] https://openjdk.java.net/jeps/372

[11] https://openjdk.java.net/jeps/373

[12] https://openjdk.java.net/jeps/374

[13] https://openjdk.java.net/jeps/375

[14] https://openjdk.java.net/jeps/377

[15] https://openjdk.java.net/jeps/378

[16] https://openjdk.java.net/jeps/379

[17] https://openjdk.java.net/jeps/381

[18] https://openjdk.java.net/jeps/383

[19] https://openjdk.java.net/jeps/384

[20] https://openjdk.java.net/jeps/385

[21] https://blogs.oracle.com/java-platform-group/the-arrival-of-java-15

[22] https://tools.ietf.org/html/rfc8032

[23] https://whitepapers.theregister.com/

so wrong

Cederic

Java established itself and grew because it was at its heart a very simple language. Mostly OO with much of the power that offers yet avoiding the dynamic language redefinition that makes so many other languages much harder to understand and maintain.

Things like J2EE helped and hindered, but demonstrated that re-usable libraries and standard pattern implementations were viable and valuable, and the language just kept growing.

Now though? Well, the last 15 years have been a continual accretion of cruft to the language, massively increasing its power but at cost to readability, maintainability and indeed just avoiding shitty bugs.

I used to be a fan. Now I just feel old.

Still stuck on Java 8

Dinsdale247

AND no matter what I do, inevitably I wind up having to support Java 8 because some wanker third party vendor is still stuck on a 6 year old java release. I don't see how upping the cadence of releases is going to make that problem any better.

Trying to be happy is like trying to build a machine for which the only
specification is that it should run noiselessly.