JVM Ecosystem Survey Results
A very slow transition to Java 11 and the main conclusions
In late October, Oracle's Java Magazine and Synk published an excellent report on the JVM ecosystem. During the study, more than 10,000 developers worldwide were surveyed regarding their choice of languages, platforms, tools, processes, and JVM applications.
Zeroturnaround and JRebel have previously issued similar reports in past years. The Eclipse Foundation also completed a Java EE study earlier this year. Research of this type is always somewhat biased, but it also gives a fairly good idea of the developer community.
In our case, this report provides an excellent snapshot and food for thought about the tools that Java developers use. Definitely worth reading it completely. Here are some of the most interesting findings.
Java 8 - the dominant platform
79% of Java developers use Java 8 as the main platform in production, while 8% use Java 9 and 10. It seems that Java developers are finally abandoning Java 7 (9%). It is also interesting to observe that about half of the surveyed developers who do not use Java 8 use later versions (4% for 9 and 10 each).
What version of Java SE are you using in production for the main application?
Since Java 11 is the newest version of the JDK, the question arises: why aren't developers moving to newer versions? The answer, obviously, lies in the new release cycles.
Release cycles
When Java 9 was released as early as 2017, many were worried about the impact that development will have on changes in both the architecture and the release release cycle, which, as we know, now provides us with a new version every 6 months.
“I think the new cycle is the result of many years of slow, cautious, and probably very long release cycles that have been criticized too much because important or significant new features were not released within a reasonable time,” says Duncan Brown. Technical Director of Prometheus Software and Regional Head of DZone, - Practically there is a feeling that the new cycle seems to compensate for that time and go too far in another direction. ”
When asked how they would react to the new release cycle, 30% of respondents said they would opt for a release-by-release system, and 34% said they would prefer long-term support (LTS) issues, which include Java 7, 8 and 11.
In addition to comments on the release cycle, D.Brown also reported:
“In an age of continuous integration and software delivery (CI / CD), and having spent so much time on releases with important functionality and planning, Oracle does not seem to realize in reality how long an acceptable, faster release cycle should actually last.”
In general, research shows that only 1 in 10 developers want to work with the latest version of the JDK.
IntelliJ proves that developers are willing to pay for IDE
Many developers have been working with open-source tools and IDE for Java for a long time. Open-source has forced vendors of tools to make great efforts to sell IDE developers. Therefore, it looks rather unexpected that 32% of Java developers pay for IntelliJ IDEA. This is very close to the same figure - 38% who use (free!) Eclipse. IntelliJ can be congratulated for having proven that developers are willing to pay for their IDE!
Overall, according to a survey by IntelliJ IDEA (45%) and the Eclipse IDE (38%) were two key IDE platforms. This is not surprising, since many other studies have shown that IntelliJ has been ahead of Eclipse for the past two years. Apache NetBeans finished third, gaining 11%.
Gradle has not deprived the Maven of the throne
A few years ago, Gradle was "a new kid in assembly tools." It seemed that the momentum with which Gradle began to develop would make him surpass the recognized king, Maven. However, it turned out that Gradle growth slowed down. Maven is used by 60% of developers, and Gradle is only 19%. Sometimes it’s really hard to replace existing infrastructure technology. A slight bias in favor of Gradle in recent years has been achieved thanks to the new support of Kotlin.
What build tool are you using in the main project?
GitHub is not the king of code repositories.
Most, and perhaps all, open source projects use GitHub. Therefore, it is somewhat surprising that the question “Which repository for code do you use in the main project?” Scored 25% for Bitbucket and GitHub answers, and GitLab (20%) was located next to them. Answers include both private and public repositories, so the results are not specific to open source. This shows that Bitbucket and GitLab are doing really well. It's good that GitHub has a lot of competition.
What repository do you use in the main project?
Software release cycles are short
It is difficult to find a study that would ask: “How often do you release a new version of your code?” Therefore, it was interesting to find the answer in this study. A rather unexpected and impressive 72% of respondents say that they release a code at least once a month. Agile development and DevOps definitely have a beneficial effect on decreasing release cycles.
How often do you release new versions of your code?
+ BONUS (!)
Do you know how often you release your new code?
Java EE and more
In addition to questions specifically related to JDK versions, the study also asked questions about Java EE and many others.
The report indicates that 4 out of 10 developers do not use Java EE for their core applications. Java EE 7 is still the most requested version (27%), but Java EE 8 is not far behind (22%). The release of Java EE 8 took place in September 2017, so it looks very promising that after only a year this version has become almost the most popular.
What version of Java EE are you using for the main application?
And of course, it’s worth taking care of those 2% who are fighting for the J2EE version, the last release of which was in 2003;)
Original articles can be found here and here .