Top Java technologies in 2020 – JVM programming languages, IDEs, tools & more
We compared two current survey reports to find out about this year’s top three Java IDEs, frameworks, build tools and the most popular JVM languages. And, of course, the surveys conducted by Snyk and JRebel didn’t miss out on asking about the most used Java versions. The winner was no surprise, but what reasons speak against migrating?
The security company Snyk has just released its annual JVM Ecosystem Report 2020. We seized the opportunity and compared the survey results to the 2020 Java Developer Productivity Report, published by Java tooling company JRebel in mid-January.
Let’s see what IDEs and JVM programming languages are most popular, and whether companies are choosing to upgrade the Java version they use in production.
Top 3 Java IDEs
First of all, let’s find out what the survey respondents use as their main Java IDE.
The winner across both reports is IntelliJ IDEA—with a large head start. In Snyk’s survey, 62% of respondents are using IntelliJ IDEA, in JRebel’s report the number is even significantly higher at 82%. Second place in both surveys goes to Eclipse IDE (Snyk: 20%, JRebel: 24%).
After that, though, things change: Snyk finds the third most popular IDE to be Apache NetBeans (10%), whereas JRebel’s report places Visual Studio Code (10%) ahead of NetBeans (4%). In contrast, only 2% of Snyk’s respondents use VS Code as their main IDE.
Top 3 Java build tools
Both Snyk and JRebel asked their survey participants which build tools they use in their main application. Here, the numbers differ significantly.
Snyk’s top 3 Java build tools are Maven (64%), Gradle (25%) and Ant (6%). While the same tools made the top three in JRebel’s report, the percentages are quite different, with Gradle (47%) ahead of Maven (44%). Ant was named by 7% of JRebel’s respondents.
Top 3 Java frameworks
The surveys also wanted to know which frameworks their respondents use.
The top server-side web frameworks in Snyk’s report are Spring Boot at 50% and Spring MVC at 31%. Speaking of Spring—Snyk also asked which version their respondents use in their main application, and it turns out that newer versions are adopted strongly. Nearly half (48%) use version 5.1.x, followed by v5.0.x (18%).
The third-highest percentage regarding server-side web frameworks goes to “none” at 21%, while the next named framework is JSF, which received 11%.
Once again, the numbers are rather different in JRebel’s report, but JRebel allowed multiple answers and phrased the question differently: “What Java application frameworks and technologies are you using in your main project?“
JRebels’s respondents named Spring as their number one framework/technology (86%), while place two goes to Persistence (51%) and place three to server-side rendering (27%).
Top 3 JVM programming languages
Here’s a question that was present in only one of the surveys, so unfortunately the comparison must be skipped at this point: Snyk wanted to know which JVM language was used as the main application’s main language.
It’s no surprise that Java tops this list—it received 87% of votes. Kotlin is the most popular of the other JVM languages, despite receiving only 5.5%. Clojure’s popularity is significantly lower, as it was stated to be the main JVM language by 2.9% of respondents and lands on rank three.
The list continues with Scala (2.6%), coming in at fourth, and Groovy (1.5%), coming in at fifth place.
Top 3 Java versions
And now, on to the last and main question: Which Java version do the respondents use in production?
It turns out that Java 8, the language version released in 2014, is still defending its throne. Spoken in numbers, Java 8 received 64% (Snyk) and 58% (JRebel) of votes. The runner-up is the other LTS version Java 11, released in 2018. It was selected by 25% of respondents in Snyk’s survey and 23% in JRebel’s.
In comparison to Java 8 and Java 11, other language versions are hardly being used in production. Java 12 is used by 4% of Snyk’s respondents, and Java 7 or lower by 3%. JRebel’s report paints a similar picture: Java 12 or newer is used by only 5% of respondents, which means this number is even topped by the category “Java 7 or older” (7%). And in case you were wondering how Java 9 and 10 are doing: Both received 2% in Snyk’s survey and JRebel didn’t even care to include them as separate response options.
Reasons for the success of Java 8
Why is Java 8 still being used so widely? Snyk took a closer look and asked its survey participants why they have not moved to a more recent version, and allowed up to three responses.
Over half (51%) of respondents claimed their current setup works just fine, while 32% found the cost of migration too great, and 30% can’t get their business to migrate. 27% replied they can’t see any features they need in later versions, and 10% clearly stated that the new release cadence does not work for them.
Over 2,000 respondents took part in Snyk’s global survey, 89% of them with a technical background. The survey was conducted in the second half of 2019. JRebel conducted a global survey as well. The survey took place from September through November 2019 among 399 participants.