JRebel is a JVM plugin from Perforce that lets Java developers instantly update code and see those changes reflected in their app under development without restarting the application server. Its survey gained responses from 400 developers, While this is the smallest of the three, it is all encompassing as it covers all parts of the developer’s tool chain; programming language, application architecture, application server, runtime platform, framework technologies, framework configuration, IDE, JRE/JDK distribution, PaaS provider, databases, deployment model, build tools, and virtualization tools.
Our report last week, Java 8 Remains Dominant covered the much larger Snyk “JVM Ecosystem Report 2020” survey on Java which found that :
While a quarter of Java developers run the most recent Long Term Support version Java 11 in production, almost two thirds still use Java 8 and only 4% have adopted Java 12.
The JRebel report is largely in agreement:
Adoption of Java 12 or newer was found to be just 5.51 % ,Java 11 23% and Java 8 still a massive 58%.
but some astonishment was evident:
For us, it wasn’t a big surprise to see Java 8 as the dominant programming language. It was surprising, however, to see that only 23% of respondents were using Java 11. We think this has to do with the lack of truly impactful updates to Java since Java 8 and the cost to update the JVM.
More reasons are forthcoming in the conclusions of How is Java doing? which covered Baeldung’s “State of Java 2019” survey:
First, Java’s 8 groundbreaking language features are still being assimilated by the programming community. Look at how many Stream and Optional related questions still circulate around the web as of 2019.Such is this December’s Guide To Java 8 Optional by Baeldung itself.Then, features that were introduced in later Java versions do not seem compelling enough to justify the jump.
Second, the new module system fist endorsed by Java 9 has confused and terrified people rather than making their life easier.
This view on the module system was also shared by the Snyk report:
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!
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.
So if you are still on 8 don’t be conquered by FOMO, feeling guilty of not adopting the newer versions; you’re still good.
Back to JRebel and the “Java Application Server” section where we find that Tomcat dominates the market with 61% whilst the heavy duty Oracle counterparts like Weblogic lack much behind. JRebel justifies this rating due to Tomcat’s versatility and its compatibility with other major Java platforms like Spring Boot, Docker, Hybris, and AWS.And then because it’s free.
That finding is verified by “How is Java doing?” too:
Tomcat is the undisputed champion with Jetty and its light resource consuming footprint on its tracks.The heavyweight propositions’ positioning on the league table echo their age and anachronistic requirements.
Firms spend millions of dollars on Java application servers like Oracle Weblogic or IBM WebSphere Application Server. But, why spend anything at all? Apache Tomcat will satisfy the deployment requirements of most Java web applications.
That is it for this first look. In the next part we’ll look at other interesting aspects of the ecosystem – Java Runtime Platform and Java Framework Technologies, most popular IDE, Java PaaS Provider, Database and of course the hot potato, which “JRE/JDK Distribution” do you use.