Java 8 Survey Finds Developers Ready To Upgrade
The Java SE 8 launch is nearly here (due March 18), but how many developers are really ready to upgrade? Quite a few, if the results of a recent survey are any indication.
Typesafe, the chief commercial backer of the open source Scala project, asked 2,870 Java jocks about their upgrade plans and found that 65 percent intend to upgrade to Java SE 8 within the next 24 months, and more than half of those are planning to make the leap within the next year.
"That was a surprising number," Derek Henninger, vice president of engineering at Typesafe, told ADTmag. "I expected a slower rate of adoption, frankly, because of what I've seen as a slow adoption of Java 7. My conclusion is that people are ready for the next version of Java."
Also, 1 in 6 survey respondents said they planned to deploy only the Java Runtime Environment (JRE) for Java 8, which the surveyors concluded, "means they intend to run Java code compiled with earlier versions of Java on the new JVM, but not recompile that code or create new code with the Java 8 JDK." However, most respondents said they plan to upgrade both their development environment and their runtime environment to Java SE 8.
The Typesafe survey was conducted as a blind open call on the Web. The majority of respondents reported spending more than half their day writing code (34 percent said it was closer to 100 percent). The company allowed that the resulting sample wasn't strictly scientific, but pointed out that the number of respondents is double what's considered statistically relevant for the total population of Java developers worldwide. "In general, then, consider this an interesting look at data culled from a very large Java community, rather than a formal research study," the company said.
One likely driver of the high number of quick upgraders, Henninger suggested, is Oracle's decision to end-of-life Java 6; the company announced that it would no longer post updates to its public download sites after February 2013. About half the respondents to the Typesafe survey reported plans to jump from Java 6 to Java 8 (44 percent), while 47 percent said they were planning to upgrade first to Java 7.
But the survey also found that that 83 percent of respondents view support in Java SE 8 for lambda expressions and virtual extension methods as "the most exciting features" of the release -- which is exciting news for a company behind a language that essentially competes with Java for developer hearts and minds. In other words, Henninger said, interest in functional programming -- which the lambda popularity represents -- is good for Scala.
"Obviously, we're pleased to see that the Java community in general is motivated to start getting into functional programming," Henninger said. "I'm old enough to have seen the transition from structured programming to object oriented programming. As an industry we go through phases, so you could say that it's been 15 or 20 years since OOP came out and we're ready for something new. But it's really more than that; the benefits are definitely there. I think it's closer to the truth to say that functional programming provides a better structure for your applications to run on the more modern architectures."
Redmond analyst Stephen O'Grady noticed the same correlation: "This interesting snapshot of a sizable number of survey respondents suggests not only an intent to upgrade to Java 8 relatively quickly," he said in a statement, "but real interest in the new functional programming features it brings. Such a transition to mainstream adoption would be typical of enterprise adoption patterns, which require technologies to prove themselves in high scale environments first."
Scala, which was developed by Typesafe co-founder Martin Odersky, is a general purpose, multi-paradigm language designed to integrate features of object-oriented programming and functional programming, which emphasizes the evaluation of expressions rather than the execution of commands. Scala runs on the Java Virtual Machine (JVM) and is compatible with existing Java programs. The company is also responsible for the Play Web app framework, a full development and runtime environment billed as "a clean alternative to legacy Enterprise Java stacks," which compiles Java and Scala sources directly and "hot reloads" them into the JVM (no need to restart the server). And it provides the Akka asynchronous, event-driven middleware implemented in Scala.
"In many ways [the Java SE 8 release] is a validation of Scala and the things Martin put into it," Henninger said. "Scala has a lot more to it than just lambda and lambda-like functionality. Also, we support Java in Akka and Play -- Java is a critical part of our strategy and customer base. The solutions we're going to be able to provide in those products are going to be far easier for our users to use, because these functional concepts are making it into Java."