It’s time to review the main takeaways from each section – anything that was too small to matter much right away can be revisited in a year, and anything that was too big to ignore is what we’d like to glance at.
The TL;DR version for efficient readers
- Java versions – Adoption since 2012 of the newest Java versions has been strong, namely growth in Java SE 7 and Java EE 6…the fact that certain older version of Java SE and EE still command decent minorities is a bit odd, but nothing to fear.
- IDEs – Eclipse is a very stable market leader, but increasing favor and interest in IntelliJ IDEA may eventually equalize things.
- Alternative JVM languages – Scala is the most interesting, enterprise-ready language on the JVM, and Groovy & Clojure play a great counterpart to the non-Java coding movement.
- Build tools – Maven’s dominance is now unquestioned with Ant’s decline from previous years, although fast-growing Gradle is extremely interesting to respondents.
- Application servers – Open-source players like Tomcat, JBoss, Jetty and GlassFish dominate both production and development environments, which use the same technology for 81% of respondents, although it’s clear that development-only app servers in the highest favor are Jetty, Tomcat & TomEE.
- Web frameworks – A mature and fragmented market, over 1/3 of developers use more than 1 web framework, and here Spring MVC is still king in this area, with stable JSF and growing Vaadin following
- Object-relational mapping frameworks – When it comes to ORM, Hibernate takes the cake, although other technologies are available and in common use in parallel.
- Code analysis tools – Although nearly 1/3 of developers don’t use these tools (big mistake), the market is rich with complementary technologies like FindBugs, CheckStyle and a platform to bring it all together, SonarQube.
- Continuous Integration (CI) servers – Jenkins’ dominance here is stronger than ever, yet 1 in 5 developers still don’t use CI as a practice.
- Databases: SQL and NoSQL – The mature SQL is dominated by Oracle, but the market has a good mix of free/open-source and proprietary offerings from long-time players. NoSQL is a maturing segment that is mainly driven by MongoDB.
- Version Control Systems (VCS) – Git, supported by the headline-worthy GitHub, is finally reigning supreme over Mercurial as a distributed VCS, and is often used in parallel with the legacy Subversion (SVN).
- Repositories – A maturing market that still needs a lot of adoption by developers, the legacy market leader Nexus is losing ground to JFrog’s Artifactory.
- Testing frameworks – In this area, complementary technologies work better together rather than competing, with unit testing, mocking and browser testing all highly practiced using strong tools like JUnit, Mockito and Selenium respectively.
- Priorities for 2015 – Java 8 (obviously), Continous Delivery / Deployment and Non-Java programming using alternative JVM languages are the 3 top priorities for the next year according to respondents.
A note on the maturity of the technologies
To conclude, we have some short comments on what we could call “market maturity”.
Maturity may not be terribly simple to define, but we believe that a couple reasonable indicators could be:
- Size of non-user base – i.e. people who simply don’t use to a particular type of tool for whatever reason, although frequent barriers are ignorance and lack of time, all of which affect market maturity.
- Level and type of market fragmentation– i.e. looking at how many tools are represented overall in the category, what is representation of commercial vs. open source (or simply free) tools, existence of SMP (significant market power) players like Jenkins, Maven, Tomcat and Eclipse, and other factors influence market maturity.
Based on these factors, we took a stab at defining three levels of market maturity, which goes like this:
Fresh technologies – Repositories, NoSQL technologies and code analysis tools all have large non-user groups, and it’s this underuse that makes it difficult to tell which tools will emerge supreme at this point. More adoption in these spaces is needed.
Changing technologies – ORM frameworks, version control systems (VCS), continuous integration servers (CI), testing frameworks and build tools are changing based on evidence of things like the existence of a significant market power in the segment, a reasonably high level of adoption among the sample population, and signs of a changing landscape (i.e. the comparatively rapid growth of an emerging player).
Mature technologies – IDEs, App Servers, Web Frameworks, relational DBs (SQL) are mature, with comparatively little change year-over-year. With the exception of a developer “sea change” in interest and adoption towards IntelliJ IDEA, others like Tomcat, Spring and MySQL/OracleDB are all placed in what Gartner would call the “Plateau of Productivity” (although coders might have a different POV on that…)
Thanks for Reading!
We would like to thank the subject matter experts (SMEs) quoted in this report, the authors, editors & reviewers from ZeroTurnaround, our sponsor that made it possible to create this report, and finally our readers and the 2164 engineers+ out there that spent 5 minutes to help sick kids in hospitals have a bit of imaginative gameplay. We hope our next survey gets even more participants and goes to another worthy cause!
JUST GET THE PDF ALREADY! ;-)