Just 9 per cent of Java devs pay for a supported version of the Java Development Kit (JDK), according to a new survey – despite Oracle introducing a licence fee for the official Oracle JDK from April 2019.
The survey by snyk, a company that specialises in tools to find vulnerabilities in code and open-source libraries, is based on over 2,000 responses from developers, collated in the second half of 2019. This is a poll of Java Virtual Machine (JVM) developers, rather than Java ones, and is not intended to include Android devs, who may code in Java but do not target the JVM.
Use of Oracle's JDK has declined from 70 per cent in 2018 to 34 per cent today. "There is a 72 per cent swing from Oracle JDK to alternate OpenJDK providers," the report stated. Note, though, that OpenJDK is official in that it is also maintained by Oracle. There is a detailed look at the difference between OpenJDK and Oracle JDK here.
Of those who do pay for JDK support, which is around 9 per cent of the survey participants, a whopping 55 per cent get it from Oracle, while the others look to Red Hat, IBM or Azul.
Many Java developers are still stuck on Java 8, the last version before major changes were made to the JDK. However, the appearance of Java 11, which is an LTS (long-term support) version, has prompted a shift, with a quarter of developers now using it, versus 64 per cent on Java 8. Why the inertia? 51 per cent say “the current set up works just fine". If it ain't broke…
6 per cent of those surveyed use the Spring framework, showing how dominant this is in enterprise development.
Most JDK developers code in Java, as you would expect. There are other languages that support the JDK, though, and of these Kotlin – developed by JetBrains and now also supported for Android development – is growing in popularity. Use of Kotlin has gone from 2.4 to 5.5 per cent of developers since last year's survey. Clojure, Scala and Groovy also show up in the survey, in that order.
What annoys Java developers most? High on this list is that Oracle could not agree with the Eclipse Foundation, now custodians of Java's enterprise edition (Jakarta EE), over the use of the javax namespace.
"Unfortunately, following many months of good-faith negotiations, the Eclipse Foundation and Oracle have been unable to agree on terms of an agreement for the Eclipse Foundation community to modify the javax package namespace or to use the Java trademarks currently used in Java EE specifications," said Eclipse executive director Mike Milinkovich in May 2019, making dark reference to the "complexity and confidential nature of our negotiations".
The javax packages include extensions like Servlets for web applications and Swing for desktop application interfaces. The consequence of the lack of agreement is that any improvements will need to go under a different package name, to avoid Oracle's trademark. 37 per cent of developers declared themselves "very disappointed" about this, and 32 per cent "a little annoyed".
What IDE do JVM developers use? IntelliJ IDEA comes top, with 62 per cent, followed by Eclipse at 20 per cent and Apache NetBeans at 10 per cent. Visual Studio Code is used by just 2 per cent of participants. The declining popularity of Eclipse is notable, down from over 60 per cent in 2012.
In Continuous Integration, Jenkins is the choice of 58 per cent of those surveyed, a huge lead over the second placed GitLab (6 per cent), while the three most popular code repositories are GitLab (35 per cent), GitHub (31 per cent) and BitBucket (25 per cent). It seems that JVM developers love GitLab more than the average developer, since GitHub is reckoned to have a bigger market share overall. ®