Before the New Year comes, it’s a good idea to summarize the results of the passing year. In 2023, the Java ecosystem evolved: two new versions of the language were released, Oracle changed licensing rules, and many new tools were released. So, let's talk about it in more detail. Java in 2023: Version Releases, Popularity, and Future Trends - 1

Java updates: versions 20 and 21

Two Java updates were released in the past year: 20 and 21. Version 20 got short-term support for six months. This release included about 1500 closed tasks and 7 JEPs. Three main changes were made to the record patterns that appeared in Java 19 in preview mode:
  • Support for type inference in generic records was added.
  • Record patterns can now be present in the header of an improved for loop.
  • Support for named record patterns has disappeared.
Among the innovations, we can also note the preliminary support for Scoped Values, which allow you to share immutable data in threads and efficiently exchange data between child threads (values are inherited). The main difference between Scoped Values and local thread variables is that Scoped Values are written once, cannot be changed in the future, and remain available only for the duration of the thread execution. Also, version 20 added the fifth preliminary implementation of the Vector API, which provides vector computing functions that allow you to simultaneously apply operations to several values. In September 2023, the public version of Java 21 was released. This update included about 2500 tasks and 15 JEPs. Java 21 is included in the category of releases with extended support, which means we’ll see the updates for this version until 2031. This version includes such innovations as support for SequencedCollection, stabilization of Virtual Threads, generative version of the ZGC garbage collector, stabilized implementation of Record Patterns, support for Scoped Values, which we mentioned above, and other updates. "Java 21 is one of the most significant releases of Java, as Virtual Threads will impact how we develop and deploy asynchronous applications, from microservices to enterprise applications," — said Dr. Venkat Subramaniam, founder of Agile Developer, Inc.

Java in the rankings: not up, but not down

Java is consistently ranked among the top five programming languages. According to the PYPL index, Java is developers' second most popular language. The TIOBE index ranks Java 4th, the same as last year. However, if you look at older statistics, Java is gradually losing its leadership, as in 2018, it was in first place in this ranking. Of course, the current result suggests that Java will not lose ground anytime soon. The fact that many applications and services were written in this language explains Java's popularity among employers. In ranking the most popular programming languages conducted by StackOverflow, Java took seventh place — it is used by 30.5% of the surveyed developers. It should be noted that this rating includes both front- and back-end programming languages. Only Python overtook Java and took fourth place among the back-end languages. If Java didn't increase in the popularity rankings in 2023, at least it didn't sink.

What technologies and tools were used by Java developers

Java 8 remains the most popular version of the language, with about 50% of developers using this programming language, according to this year's JetBrains study. Java 20, which was released in 2023, is used by only 11% of developers. Java in 2023: Version Releases, Popularity, and Future Trends - 2Among the frameworks, Spring was the most popular during the year, with 72% of developers using it, and Spring MVC — 39%. Java in 2023: Version Releases, Popularity, and Future Trends - 3To build projects, programmers most often chose Maven (74% of developers), Gradle (46%), and Ant (6%). IntelliJ IDEA, VisualVM, and JProfiler were Java developers' most popular development environments, with 45%, 17%, and 13% of programmers preferring them, respectively. Java developers more often created websites, small applications, software, and databases. Java in 2023: Version Releases, Popularity, and Future Trends - 4JavaScript, SQL, Python, HTML, and CSS were the most commonly used among those using Java as one of their primary languages.

Java in the news: Helidon 4 and licensing changes

What else was happening with Java in 2023? We have collected a selection of important news for Java development.

Oracle changed the rules of Java licensing

In January, Oracle introduced a new Java pricing plan based on the total number of employees in the customer's organization rather than the number of employees using the software. For an organization, this means that regardless of the number of Java users or server size, it must count each employee, contractor, consultant, and agent to determine its Java subscription bill. According to Oracle, the price starts at $15 per employee per month for 999 employees and goes down to $5.25 per month for 40-49 thousand users. The sharp increase in the cost of Oracle licenses for most Java users will mean that by 2026, more than 80% of Java applications will be deployed on third-party environments, compared to 65% in 2023. Customers are switching to third-party Java environments such as Azul, Amazon Coretto, Eclipse Temurin, and IBM Semuru.

Oracle has released a working version of Helidon 4

Oracle has released a new working version of Helidon 4, a server-side microservices framework for Java that uses virtual threads to improve performance. Helidon 4 introduces a server called Nima, designed to take advantage of the virtual threads capabilities of Java version 21. It is designed to reduce the effort required to write and maintain high-performance concurrent applications.

GraalOS serverless technology was released

In 2023, Oracle also introduced GraalOS, a high-performance serverless Java-based application deployment technology that promises to help developers improve application responsiveness and reduce application costs. GraalOS uses GraalVM Native Image technology to compile Java code into a self-contained executable using x64 and AArch 64 processors on Oracle Cloud Infrastructure (OCI). GraalOS-based applications should require significantly less memory due to Native Image precompilation and be cheaper to run, Oracle said.

Forecast for the future: trends in the Java ecosystem

What can we expect from the Java ecosystem in 2024 and the programming world in general? Let's focus on some of the most apparent trends.

Cloud computing

In the next 5-10 years, cloud computing will become even more popular than it is today. Therefore, 2024 is likely to be the beginning of significant changes. And that's when Java will come to the fore (it's excellent for use in cloud computing infrastructure). According to a CloudFoundry survey, over 600 IT professionals worldwide consider Java the most popular language for developing enterprise cloud applications. It was chosen by 57% of experts who use cloud computing in their work. Java is popular in the cloud environment due to its simplicity, adaptability, platform independence, and reliability. Java developers use such cloud services as Google Cloud Platform, AWS (Amazon Web Services) Azure, Google App Engine, and Jelastic.

Artificial intelligence

One of the fastest-growing technologies is artificial intelligence. Just look at such tools as ChatGPT, Bard, ChatSonic, Poe, Rytr, and others. It doesn't consider the large pool of applications and programs that only partially use artificial intelligence to solve business problems. But will Java help you to work with AI? Many programming languages are used in AI, but Java is undoubtedly one of the most popular. In particular, Java is used to create solutions for machine learning, neural networks, search algorithms, genetic programming, and multi-robot systems. Such properties as object-orientedness and scalability are mandatory for AI projects, which is why Java is the best fit for them.

Machine learning

The aspect that makes Java one of the most attractive and unique programming languages is that it is, at its core, a multi-paradigm programming language. This characteristic has made Java an excellent programming language for machine learning. Since machine learning and the development of artificial intelligence are inseparable, this technology will be popular for a very long time. Although some developers prefer Python to Java, this language is also a good option for machine learning. Java has several libraries and frameworks that support this technology. The Weka library, for example, is a popular tool for machine learning tasks such as data preprocessing, classification, regression, and clustering.

Internet of Things

The Internet of Things (IoT) has been a popular concept for a long time — it has been on the list of trendy niches that the future holds for years, along with big data, AI, and other popular and rapidly developing industries. However, recently, IoT has begun to penetrate our daily lives actively, and the number of developments in this area is constantly growing, which is reflected in the emergence of more and more new vacancies for IoT developers. The Internet of Things is a concept in which many everyday appliances and consumer electronics are computerised and connected. This opens up various possibilities: IoT devices allow the collection and analysis of vast amounts of new data, adapting the operation of devices to each user. Initially, Java was created for these purposes, so unsurprisingly, it is well-suited for creating IoT applications. In the early nineties, Java appeared as a language for writing applications for PDA (personal digital assistant) devices, the ancestors of modern smartphones. Therefore, knowing Java, a developer can move into the promising field of IoT development. That's what the past year has been like for Java. What do you think was the main event for the Java community in 2023?