Kotlin overtakes Scala and Clojure, becoming the 2nd most popular language on the JVM ecosystem
February 5, 2020
0 mins readWelcome to our annual JVM ecosystem report! This report presents the results of the largest annual survey on the JVM ecosystem, showing results from the survey gathering over 2000 responses in the second half of 2019. We would like to thank everyone who participated and offered their insights on Java and JVM-related topics.
This report is split into six posts:
36% of developers switched from Oracle JDK to an alternate OpenJDK distribution, over the last year
64% of developers report that Java 8 remains the most often used release
Kotlin overtakes Scala and Clojure, to become the 2nd most popular language on the JVM
Spring dominates the Java ecosystem with 60% using it for their main applications
IntelliJ IDEA dominates the IDE market with 62% adoption among JVM developers
We also have a lovely handcrafted pdf report which contains all of this information in one downloadable place.
What is the main JVM language you use for your main application?
While the variety of JVM languages grew over the last couple of years, the large majority of JVM users — nearly 9 out of 10 — still use Java as their main language.
One of the reasons we see this consistently large percentage over the years, is the fact that Java is constantly changing. Many of the language constructs and paradigms that other JVM languages have been using to differentiate themselves fromJava, have been introduced and implemented in Java, such as local type inference, and lambdas, to name just a couple. The new Java release cycle also makes these new features available to developers earlier than before.
However, despite the strong preference for Java, the use of other JVM languages grew as well. Particularly Kotlin, a language developed by JetBrains, gained a lot of popularity over the last couple of years. In fact, Kotlin grew from 2.4%, according to last year's report, to an impressive 5.5%.
The growth of Kotlin adoption, among JVM users, is not surprising considering how seamlessly it integrates with Java. Not to mention that, the adoption of Kotlin in frameworks like Spring Boot made it easier to create production-grade systems
It is important to note that, the innovations Kotlin tries to achieve flow back into the development of Java. Newer Java versions try to integrate concepts that are popular and loved in languages like Kotlin. It is interesting to see how this influences the future adoption of different JVM languages.
Do you write or maintain any Java applications? For those who don't use Java in their main application, do they use it at all?
Not every JVM developer uses Java as their main language. Based on the responses to the previous question, JVM developers who predominantly use other languages in their application, account for 13%. Out of this group of developers, the majority (70%) still uses Java in some capacity, during their regular work.
This means that 96% of overall respondents use Java, either as their main language or to a smaller extent, in their application. Only 4% of respondents run applications on the JVM that entirely use alternative JVM languages.
Are you using, or are you planning to use, Java modules in your Java applications?
The release of Java 9 introduced some major architectural changes. The most famous and impactful change was the introduction of the module system ,formally known as the Java Platform Module System (JPMS). This new abstraction above packages make it possible to create a smaller, more fit-for-purpose JDK
But architectural changes of this magnitude are bound to have a large impact on older or legacy systems, if they are to be migrated. It's important to note, however, that you are not forced to use the module system in Java 9 and higher. You are able to continue to use the classpath while the module system silently bundles all your jars into the unnamed module.
When we asked developers whether they are using or plan to use the module system, we got some interesting results with only 7% of the respondents stating that they are already using it. The vast majority of the participants — over 6 out of 10 — do not use the JPMS, while 29% plan to use it in the future.
How easy was it to adopt Java modules?
When it comes to adopting Java modules, the opinions on the level of difficulty differs. While a quarter of the respondents found the adoption process to be neither hard or easy, a significant percentage (25%) found the JPMS adoption to be rather hard (7/10 or higher). The mean, median and modal averages were all 5/10. According to these responses, it is safe to conclude that while adopting Java modules takes time and effort, it's not rocket science!
Did you adopt Java modules while writing new applications or while migrating older ones?
Adopting something new is considered easier when you work on a greenfield project. Creating an application from scratch, for the most part means that you do not have to deal with the complicated evolution of a software project. When it comes to adopting Java modules, though, this is not always the case. According to our survey, almost half of the respondents adoptedJava modules while migrating older applications.
There’s more to this report! Which section do you want to read next?
36% of developers switched from Oracle JDK to an alternate OpenJDK distribution, over the last year
64% of developers report that Java 8 remains the most often used release
Kotlin overtakes Scala and Clojure, to become the 2nd most popular language on the JVM
Spring dominates the Java ecosystem with 60% using it for their main applications
IntelliJ IDEA dominates the IDE market with 62% adoption among JVM developers