Clojure devs are all about Java 8 and functional programming
What’s the state of the Clojure ecosystem in 2019? According to Clojure’s annual survey, Clojure devs are still in love with Java 8 and use it for web development and open source. We take a closer look at the 2019 results to see what’s really going on in this functional programming language.
Clojure’s annual community review is in! The 2019 survey is a good overview of the Clojure ecosystem, taking a look at its users and how the community uses Clojure in their daily lives.
Clojure has polled its user base on a mostly-annual basis since 2010. This year’s survey reached 2461 respondents. Questions this year focused on things like the various strengths of this functional programming language, where developers deploy their code, and what kind of organizations use Clojure.
All in all, the survey shows that Clojure developers are using it at work even more at larger organizations. Let’s take a closer look at the numbers.
Steady adoption rates for everything but Java 9
The vast majority of developers utilize Clojure (97%), with ClojureScript coming in second (64%) and ClojureCLR at a very distant third (2%).
Clojure 1.10 arrived late last year with improved error reporting and Java compatibility. In the two months since it released, over 50% of developers have adopted it! That’s a pretty impressive adoption rate. Roughly 60% of developers are still using 1.9 and a further 23% are still on 1.8. Last year, version 1.9 was heavily anticipated with rapid uptake.
However, these speedy adoption rates only apply to Clojure.
This year’s survey shows that Clojure developers are still overwhelmingly targeting Java 8. Java 8 has passed its publicly supported end of life date, however, Clojure users move faster to new releases than JVM users as a whole. Despite the lack of public support, there are still vendors which supply long-term support for Java 8.
Poor Java 9 is fairly unloved at 16%; more attention is given to Java 10 (20%) and Java 11 (31%).
However, it’s good to see developers are slowly moving towards Java since it is a long-term release. After all, targeting older versions is how we get awful security breaches.
SEE MORE: Top 5 IDEs and text editors for Clojure
The community at large
So, when looking at the Clojure community, a few things pop out from the data.
A majority of Clojure users are using it at work, followed by serious hobby usage. Only a small portion of participants answered that they use Clojure in their studies.
That said, developers consistently appreciate Clojure’s idiomatic support for functional programming and immutable data. Other positives include things like interactive REPL, ease of development, and the community.
This year’s survey also included a question about how long people had been programming professionally. 1 in 10 Clojure users have over 20+ years of developing experience; 49% had over 10+ years of experience. In comparison, only 42% of JVM developers have that much programming experience.
So, what are devs using Clojure for? Web development (80%), mostly. Open source projects (47%), building and delivering commercial services (31%), and enterprise apps (20%) round out the top uses. However, same as last year, there’s an awful lot of interesting use cases at the margins, like IoT, music, graphics, and games.
This year, there’s a general increase of developers working in larger companies. The audience for Clojure projects has changed as well, moving from “in team” to more “outside team” or “outside the organization”.
Same as last year, we can also see what industries everyone is in. FinTech (16%) jumped to the front this year, followed by enterprise services (15%), consumer software (12%), retail (9%), and media and advertising (6%). Agriculture continues to hang on at the bottom, with 15 respondents using Clojure in the farms and fields.
If you’re interested in the full results, you can view them here. The results from previous years are also available online here. And, of course, if you’d like to try out Clojure you should head on over to their website or GitHub page.