10.4 C
New York
Thursday, December 8, 2022

Developers want improved performance, efficiency in Java 20 – TechTarget

Getty Images
Georges Saab, Oracle’s senior vice president of development for the Java Platform Group, stood onstage at the JavaOne conference last week and touted the merits of Java 19. However, developers are already looking forward to Java 20, which might bring improvements to concurrency, profiling and universal generics.
Java 19, or Oracle Java Development Kit 19, was released last month and incorporates thousands of improvements for performance, security and stability via seven JDK Enhancement Proposals (JEPs), most of which enhance functionality present in earlier releases.
Java 20 will drop in March 2023, following Java’s six-month feature release cadence. Developers would like to see improvements such as better tooling support or simplifying common tasks, said Jeroen van Gils, web designer and CEO of LiFi.co, a light fidelity information website.
“Developers want Java to be a language that is easy to use and adopt for new projects,” he said. “We’ll have to wait and see what the final [Java 20] release brings, but it’s sure to be an exciting year for Java development.”
Java should continue to evolve in ways that make it more performant and efficient, van Gils said.
“This could include things like supporting more concurrent programming paradigms or making improvements to the just-in-time compiler,” he said. Concurrent programming refers to code that facilitates running many tasks at the same time, while the just-in-time compiler can optimize performance and improve runtime.
While Java 19 included a Structured Concurrency incubating feature, JEP 428, it is unknown whether Java 20 will include further improvements to either concurrent programming or the just-in-time compiler. Currently, no proposals are listed on the Java 20 page on OpenJDK, Java’s official reference guide, although more details are expected soon.
Morshed Alam, founder and editor at Savvy Programmer, a programming learning site, agreed that more language features to make writing concurrent code easier would be a welcome addition to Java 20, as well as better support for functional programming, which enables Java to treat computations as an evaluation of mathematical functions; Java began transitioning to functional programing with Java 8.
“Additionally, there is a desire for better performance and improved tools for debugging and profiling,” Alam said.
JEP draft 8284289, Asynchronous Stack Trace VM API, is one possible Java 20 candidate that could improve profiling, which captures information about code execution at runtime. The draft’s goals include providing an official API for external profilers to capture information on Java and native frames.
Another JEP draft and possible contender for Java 20 is Universal Generics, which will make it easier for developers to reuse code.
But making improvements to universal generics doesn’t go far enough, according to Valentin Iancu, development manager at Advanced, an application modernization company.
“While enhancing the universal generics seems to be a priority for Java, I’d also like to see some more efforts on improving overall generics,” he said. Generics, or parametrized types, make it easier to find bugs at compile time.
More C#-like properties in Java, which would reduce boilerplate code and help with conversions from other languages, would also be nice, Iancu said.
Java should also go more in the direction of parallel processing to improve the developer experience, said Tiago Cardoso, group product manager at Hyland, a content services provider.
For example, “having easy APIs that work almost out of the box with minimum configuration and provisioning, or having libraries that help with this,” he said.
The library Akka makes this easy in Scala, Cardoso said. However, Java does not have an equivalent library.
Of the JEPs up for consideration, only about a dozen might make it through to Java 20. Most will be incremental updates to features already in preview, so it’s unlikely that developers will see major overhauls in Java 20, such as tackling legacy inheritance issues — which needs addressing, said Andrey Sundukov, senior Java software engineer at Natera, a genetic testing company in Austin, Texas.
Prior Java releases often created legacy inheritance issues by breaking the set of design principles for software development (SOLID), Sundukov said. SOLID is used for object-oriented programming languages; much of Java’s design revolves around OOP.
“For example, the Java implementation of collections hierarchy unfortunately requires using OperationNotSupportedException when you try to use immutable implementations,” he said.
Each deviation from SOLID adds more chances for bugs and mistakes in a codebase, which could explain the appearance of new languages such as Kotlin and Scala running on the Java virtual machine, Sundukov said.
“They don’t have this legacy inheritance, and that is why a lot of developers like them — including me,” he said.
AWS Batch enables developers to run thousands of batches within AWS. Follow this tutorial to set up this service, create your own…
Alloy, a new infrastructure platform, lets partners and Oracle-affiliated enterprises resell OCI to customers in regulated …
Dell dropped news at separate events this week — one that showcased edge management software, another that showed deepening HCI …
More than ever, increases in data-centric developer reliance, data sources and users push developers to understand IT purchasing …
As with any software development cycle, API security must be built in from the start. Follow these guidelines to design, deploy …
Developers who work with microservices may find the concept familiar, but cell-based architecture takes its own spin on …
OpenShift now supports Kubernetes deployments from data centers to edge devices, which calls for fresh ways to scale out …
Generics are a relatively recent addition to the strongly and statically typed Go language. Learn the benefits of using generics …
FinOps features added to observability tools from Datadog and Sysdig this week reflect concerns about cloud cost management amid …
The job a product manager does for a company is quite different from the role of product owner on a Scrum team. Learn key …
Want to prove your knowledge of Scrum? Tackle this 10-question Scrum introduction quiz and see how well you know the Scrum …
Here’s a tough 10 question Scrum Master quiz to test you on how well you know the responsibilities of this important Scrum role …
Many organizations struggle to manage their vast collection of AWS accounts, but Control Tower can help. The service automates …
There are several important variables within the Amazon EKS pricing model. Dig into the numbers to ensure you deploy the service …
AWS users face a choice when deploying Kubernetes: run it themselves on EC2 or let Amazon do the heavy lifting with EKS. See …
All Rights Reserved, Copyright 2006 – 2022, TechTarget

Privacy Policy
Cookie Preferences
Do Not Sell My Personal Info


Related Articles


Please enter your comment!
Please enter your name here

Latest Articles