gohiam.com

The Evolving Landscape of Java Development in Russia

November 30, 2024, 5:09 pm
Red Hat
Red Hat
Location: United States, North Carolina, Raleigh
Employees: 1-10
Founded date: 1993
The Go Programming Language
The Go Programming Language
ITSoftware
Location: Netherlands, North Holland, Amsterdam
Employees: 11-50
Kubernetes
Kubernetes
EngineeringManagementService
Location: Malawi, Lilongwe
Docker
Docker
AutomationCloudContainersDevOpsSoftware
Location: United States
Employees: 201-500
Founded date: 2013
Total raised: $332M
Java has been a stalwart in the programming world for nearly three decades. It remains a heavyweight, consistently ranking among the top programming languages. In 2024, it continues to capture the attention of Russian developers. A recent study by Axiom JDK and JUG Ru Group, which surveyed over 500 professionals, reveals intriguing insights into the preferences and tools of these developers.

The study, titled "Trends in Java in Russia," delves into various aspects of the Java ecosystem, including releases, distributions, frameworks, build systems, JVM languages, IDEs, profilers, application servers, and AI tools. The survey, completed in the third quarter of 2024, included participants from diverse sectors such as finance, IT, oil and gas, and e-commerce. Notably, over half of the respondents work in large companies with more than 1,000 employees, making the findings particularly compelling.

Java Versions: A Leap into the Future


Russian developers are not just waiting for the future; they are actively shaping it. Unlike their international counterparts, who often cling to older Long-Term Support (LTS) releases, Russian developers are quick to adopt new Java versions. Many of their projects are relatively new, having started just two to two and a half years ago.

Java 17, released in September 2021, leads the pack, with nearly 70% of respondents using it. Java 21, which became stable in December 2023, is already in active use by 36% of developers. Even the freshly launched Java 22, released in March 2024, has garnered attention from 4% of participants.

Interestingly, Java 8, despite its decade-long existence, remains relevant, with 33% of developers still using it. Dubbed the "golden" version, it has long been a benchmark for stability, thanks in part to the efforts of Russian engineers from Oracle's development center in St. Petersburg.

The survey also revealed that many developers are not limited to a single version. About 35% of respondents work with two versions of Java simultaneously, showcasing a flexible approach to development.

The Challenge of Legacy Versions


Despite the enthusiasm for newer versions, many developers still maintain projects on Java 8 or Java 11. A significant 62% of respondents continue to support these older versions. The reluctance to migrate stems from the complexities involved in updating libraries and dependencies, which can be daunting for large projects.

However, there are alternatives that can enhance performance without a complete migration. For instance, combining JVM 17 with Java 8 or 11 can yield significant speed and efficiency gains while remaining compatible with legacy code. This approach allows developers to improve existing systems without overhauling their architecture.

Build Systems: The Double-Edged Sword


Maven reigns supreme among build systems, utilized by 72% of respondents, followed closely by Gradle at 58%. Maven's ubiquity is no surprise; it’s readily available and easy to use. Gradle, on the other hand, is favored for its flexibility and speed, particularly in large projects.

Yet, convenience comes at a cost. The easy access to a plethora of libraries can introduce security vulnerabilities. Companies often find themselves creating isolated repositories to scan source code for vulnerabilities, ensuring that unsafe dependencies do not make it to production.

If you still rely on public repositories without scrutiny, it’s time to reconsider. This is especially crucial if your product is part of critical information infrastructure.

IDEs: The Unlikely Contender


IntelliJ IDEA remains the dominant IDE, with 78% of respondents using the Ultimate version and 47% opting for the Community Edition. However, current licensing restrictions may impact its market share in Russia.

Surprisingly, Visual Studio Code has found favor among nearly 28% of developers. While not traditionally associated with Java development, its popularity can be attributed to its free access and ease of setup, thanks to a language plugin from Red Hat. It serves as a versatile tool for developers working across multiple programming languages.

AI in Development: A New Ally


Artificial intelligence is becoming a standard in enhancing development efficiency. Approximately 48% of respondents utilize AI tools in their coding processes. Among them, ChatGPT is the primary tool for 35% of developers, aiding in task automation, code improvement, and even architectural design.

Notably, AI usage is prevalent among those working with Java 21, with over a third of these developers employing AI tools. This trend underscores the commitment of Russian developers to embrace cutting-edge technologies.

Conclusion: A Bright Future for Java in Russia


Russian developers are not just keeping pace; they are leading the charge in adopting new technologies, from the latest Java releases to modern IDEs and AI tools. They are professionals who understand trends and leverage high-quality, secure, and contemporary technologies.

As the Java ecosystem continues to evolve, Russian tools are carving out their niches, demonstrating potential across every segment. The full report is available in the developer's personal account at Axiom JDK.

What are your thoughts? How do these trends align with your observations? Share your insights in the comments—let’s discuss!