Java is obviously not dead; but is it moribund? Most evidence that bears on this question can be spun both optimistically and pessimistically. For example, perhaps the high rate of Java 8 “new-style” / functional feature adoption indicates that Java is responding well to developers’ needs—or perhaps it indicates pent-up demand from a developer community dissatisfied with the glacial pace of the JCP and JEP. Again, maybe the increasing adoption of non-Java JVM languages indicates a thriving ecosystem built on a common bytecode; but whether this means that “Java” is getting stronger because the JVM is spawning more higher-level languages, or that “Java” is getting weaker because its secret WORA sauce is being leveraged by other languages, depends on the level at which you locate your concept of “Java.”
Because this sort of evidence is highly polyvalent, and because so much of a language’s vitality is felt while actually writing code (rather than answering survey questions), it seemed important to ask developers separately for their feelings about the future of the Java ecosystem. Moreover, individual experiences of a language ecosystem’s “vitality”— visible in virtually any comment thread comparing Java and Scala, for example—vary so tremendously that aggregation of these sentiments seems particularly necessary. So we asked four explicit questions aimed at developers’ thoughts about the future of Java.
How do you feel about the future of Java?
Overall respondents are optimistic: less than 6% are “pessimistic” (either “very” or “slightly”) about the future of Java, and slightly more are “very optimistic” (43%) than “fairly optimistic” (40%). These results are virtually identical to last year’s (as the differences for each answer response fall within both surveys’ independent margins of error). This suggests that developers have detected no major new signals about the future of Java—despite the fact that Java 9 was delayed twice this year. Either the release date of Java 9 (at least within its current window) does not impact developers’ overall optimism about the future of Java, or the reasons given for the delays (primarily around Jigsaw) in public discussions seem acceptable to most developers.
Note: the first delay of Java 9 was announced in December 2015, after our 2015 survey closed; the second delay was announced briefly before our 2016 survey closed, but in time to affect about a fifth of responses received if those respondents were very up-to-date on the OpenJDK mailing list. So it seems probable that the majority of the effect of these delays on our data does not take into account the second delay announcement; but the exact amount is unknowable.
What is the most important new feature of Java 9?
Jigsaw, the higher-level modularity system coming in Java 9 (and cause of much of the delay), remains the most important new feature of Java 9 in developers’ eyes, as in last year’s survey. HTTP/2 support remains the second-most-important as well. Exact numbers are not comparable (this year we added a “no opinion” option), but the constant order offers quantitative confirmation of the generally accepted opinion that modularity will make the biggest difference to Java developers at large (and not just the developers of OpenJDK itself).
Are you currently using microservices?
Java applications are perhaps more likely than most to be affected by the “decentralizing” and “distributed” modern trends in application architecture—precisely because the Java language’s strong object-orientation, high performance, and multi-platform capabilities are suited to large-scale systems, and because the Java platform provides so much rich functionality at so many levels and in so many problem domains. The importance of microservices to the Java community is reflected by, for example, the MicroProfile initiative, spearheaded by companies other than Oracle; the rise of Java frameworks suitable for easy spin-up of RESTful services, such as Spring Boot, Lagom, and WildFly Swarm; the growing popularity of shared-little architectures (e.g. ‘12-factor’) and programming models (both functional and actor-oriented); and (as of two days ago) increased support for microservices in Java EE 8.
The importance of microservices to the Java community is reflected by, for example, the MicroProfile initiative, spearheaded by companies other than Oracle;
Developers’ interest in microservices has been growing over the past year. In August 2015, 10% of our respondents were using microservices; in January 2016, 24% were using microservices somewhere in their organization; in a report just published by Lightbend, 30% are using microservices in production; and, in our latest survey, 39% of developers are currently using microservices, and another 19% are planning to adopt microservices in the next 12 months.
1,238 total views, 2 views today