Why a fr*kload of Java developers want Gradle, IntelliJ, Scala and other technologies supported by professional organizations
Java developers, just like anyone else, want well-designed tools that are built–or at least maintained–by professional support organizations. The strongest examples of these companies exposed in this report are Gradleware (Gradle), JetBrains (IntelliJ IDEA), Typesafe (Scala), with additional evidence noted by the dominance of tools supported by Cloudbees, GitHub and MongoDB.
In the recently-published and already very popular Java Tools and Technologies Landscape for 2014, a sample population of 2164 Java professionals were asked questions about the tools they use and, in certain cases, how they feel about them. We asked about several innocuous areas like IDE (ok, some flame potential there for sure), build tools and the next JVM language they might like to learn. And what we found is that three technologies in particular have a great amount of interest to developers–IntelliJ IDEA, Gradle and Scala (Java 8 we’ll discuss later).
Question: Which IDE would you rather use or test in development?
Winner: IntelliJ IDEA (49%)
When just about every second developer we asked said that they would rather use IntelliJ IDEA than any other IDE, we stopped to listen. As JetBrains’ flagship, development of IntelliJ is regular and responsive, and IntelliJ (33%) is unique in the market for being a major player as well as the only commercial IDE out there. Eclipse (48%) is the market leader, we see that developers would, if asked, rather pay to use IntelliJ than Eclipse or NetBeans (10%) for free. Based on the years of success with IntelliJ, JetBrains has rolled out a larger selection of commercial developer tools.
Question: Which build tool would you like to learn more about?
Winner: Gradle (58%)
Nearly 6 out of 10 developers would like to know more about Gradle (11%), the newest build tool to challenge the long-term dominance of Maven (64%) and Ant (16.5%). With only an 11% share of market, Gradle is nonetheless popular and interesting to developers who are interested in learning more about Gradle’s uber-simplicity and Groovy DSL. Gradleware, the company led by Hans Dockter (the creator of Gradle), has become a reliable partner for many organizations, including Google, who decided to use Gradle as the future official build tool for Android OS development.
Question: If you had to choose just one additional JVM language to learn about, it would probably be…
Winner: Scala (47%)
After Java, Scala is the second-oldest JVM language still in real use today, invented in 2001 by Martin Odersky. Odersky later want on to found Typesafe, which supported the expansion of more developer tools in the technology stack to support Scala app development and use in production. Typesafe continues to grow and expand, offering nowadays a full “reactive platform” based on Scala with additional tools like Akka, Play, Slick and SBT there to use.
A few other mentionable tools that indicate developer preferences
While we didn’t get to ask about developer sentiment for all tools, we can take some indications from other sections where a significant market power technology is present. For these I’ve picked:
- Continuous Integration (CI)
- Version Control (VCS)
- DBs: SQL and NoSQL
Continuous Integration is now in use by nearly 4 in 5 developers, and open source Jenkins (70%) completely dominates the scene. You know the story: Jenkins was originally named Hudson by creator Kohsuke Kawaguchi when he was at Sun Microsystems. After Oracle’s acquisition of Sun, he split the project and renamed his fork “Jenkins”. Over the last few years, Kawaguchi has helped build a fast-growing community system supported by Cloudbees, a commercial cloud services provider and de facto Jenkins support organization, in which Kawaguchi is now CTO.
Version Control has long been considered a mandatory technology for most developers, with over 99% of respondents to our survey reporting use of at least some version control technology. For the first time, we see Git (69%) overtake Subversion (57%) in raw usage. This isn’t surprising considering the massive influence on the DVCS market by cool and popular support organizations like GitHub and Atlassian, the latter of which also pitches tooling based on Git alternative Mercurial (9%), which for whatever reason never made it that big.
In the DB world, both SQL and NoSQL are used by 39% of respondents on different projects and for different purposes. Mature SQL technologies are in use by 92% of respondents in a mature market containing a blend of experienced providers both commercial and open source. By comparison, newer NoSQL technologies are used at most by 43% of respondents, and this younger market is dominated by a single provider, MongoDB (56%). MongoDB (formerly 10gen) has grown quickly based on happy customers, disruptive style, and a preference for viral community outreach that speak to their commercial goals that far exceed its recent $1.2 billion valuation.
So, what do IntelliJ IDEA, Gradle, Scala, MongoDB, Jenkins and Git have going for them? Well, they are generally considered uniquely good by their users. Support for community activities by customer experience-oriented, professional organizations appears to be the way to go, especially when the technology founders (e.g. Martin Odersky, Kohsuke Kawaguchi and Hans Dockter) remain in leadership positions in the subsequently rolled-out company. It’s also interesting to see how the commoditization of Java tools (i.e. the Eclipse-Maven-Tomcat-Spring stack) has brought about change in certain technology segments to the extent that the long-dominant powers might finally feel a little heat from hungry underdogs.