|How is Java Doing?|
|Written by Nikos Vaggalis|
|Wednesday, 18 December 2019|
At this time of year surveys summing up the year bombard us from all sides. Here we have Baeldung's take on the state of Java In 2019.
Java continues on, despite being heralded as the 'old horse' of the programming language collective.
It's that timelessness that means that Udacity, which mostly specializes in trendy languages, frameworks and topics such as Kotlin, React, Data Science, Android, AI and Autonomous Vehicles acknowledges the need for a Java Developer Nanodegree, as we outlined in Enrollment Open for New Java Developer Nanodegree where we reported that:
Java has always been the favorite - enterprises talked and still talk Java. Look no further than the Fortune 500 list of companies reliance on it. Yes, Blue Chips love it.
The reasons are plenty. The one that enterprises value most is backwards compatibility, being notoriously allergic to radical updates and upgrades. Systems that worked 20 years ago, written in Java 5, should be able to compile and run under version 8. Stability is what matters.
Baeldung e-learning, a site totally dedicated to Java with courses and books mostly on Spring but closely monitoring the trends around everything about Java, has published its own survey - The State of Java in 2019 reflecting the view of 6707 developers.The pool of respondents might be small in comparison to other surveys, but keep in mind that this is a focused and experienced audience which knows what to looks for.
The first topic the survey tackles is Java's version adoption. With a much faster release cycle after version 8, almost by now touching version 14, you would expect that most would have migrated to a more recent version. This is not what actually happens though. As the survey highlights.80% of the developers taken the survey are still on venerable version 8!
This could be for a few reasons. First, Java's 8 groundbreaking language features (See my Closures and Lambdas book review) 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.
Second, the new module system fist endorsed by Java 9 has confused and terrified people rather than making their life easier. Third, features that were introduced in later Java versions do not seem compelling enough to justify the jump.
Finally another big turnoff and yet another confusion was that after this past January, Java SE 8 public updates and thereafter require a commercial license. And this is where Oracle JDK vs OpenJDK battle begins, as described in our Is Java Still Free? news item:
With the recent changes to Oracle JDK distribution and support, there’s been considerable uncertainty over the rights to use Oracle JDK vs Oracle's OpenJDK builds vs OpenJDK builds from other providers. There are also plans around free updates, and (new and existing) paid support models available from various vendors to consider.
The survey also has results pertaining to other areas.
Build Tools Adoption
When you’re writing code, IntelliJ IDEA is busy with building its syntax tree, creating references between classes, variables, fields, methods, and their usages, analyzing the execution flow, and using this information, it can provide completion, help you quickly navigate through your code, provide error analysis and offer handy quick fixes.
The nice side-effect of having the code syntax trees and their relationships indexed is that it makes IntelliJ IDEA able to manipulate these trees to apply complicated refactorings across many languages, expressions, and dialects.
Couple these with Ergonomics and you can easily see why it is favored by most Java devs,hence the Intelli-gence part in its name.
Web/Application Server Adoption
He began with :
Use Apache Tomcat. It is free.
I don’t understand why firms spend millions of dollars on Java application servers like Oracle Weblogic or IBM WebSphere Application Server. I get why firms spend money on Red Hat JBoss — they want to spend less on application servers. But, why spend anything at all? Apache Tomcat will satisfy the deployment requirements of most Java web applications.
The chart reflects that statement; 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.
I had my own adventure with WebLogic which I describe in Hardcore DevOps: Building A Portable Weblogic Client on the CLI.
Other JVM Languages
First, what's somewhat surprising and interesting here is that 62.6% of developers are only using Java, exactly like last year (62.8%). I was definitely expecting this number to go down, given the strong adoption of Kotlin, but it looks like it hasn't, yet.That being said, Kotlin did still grow from 13% last year to 16.5% today
As Gradle, Kotlin which can be perfectly usable as a general purpose language and especially in backend environments can't still be accepted outside Android's boundaries.
In conclusion, I think what the survey is trying to say is that Java is not to be displaced. It will remain in the top three in any league for years to come, backed by the exemplary loyalty of its programming community. But although people still stick to the language and its surrounding ecosystem, they also try to stay away from Oracle and its offerings be it its IDEs (JDeveloper), Servers (WebLogic), JDKs and its flagship database. MySQL is the exception because it mostly remains unaffected by Oracle's ownership. Most Java users are looking for more lightweight, efficient, cheaper, developer and license friendly equivalents that are at par or even better than those of Oracle's.
Closures and Lambdas book review
or email your comment to: firstname.lastname@example.org
|Last Updated ( Wednesday, 18 December 2019 )|