The state of Clojure report for 2015, led by consultants Cognitect, is now complete, and, it’s compilers write, there is strong evidence that the language is traversing the gap from being a “niche tool used by explorers and hobbyists” to assimilation with the contemporary enterprise development landscape.
With the programming world increasingly looking to functional to keep up with the huge scaling demands of modern applications, Clojure (along with Scala, lambda-bearing Java 8, and Haskell) is a popular avenue to explore parallel systems – and with respondent’s up 75% year on year in Cognitect’s annual report, there’s clearly a growing number of users making their first foray into the language.
Among respondents, almost 60% were using Clojure in the workplace, with a further 55% using in serious hobby projects. And as to how Clojure is being deployed, for users of Clojure, ClojureScript and ClojureCLR, Web Development, Math/Data Analysis, “Big Data”, Commercial Services and Enterprise Applications were the top five areas, indicating that the language is finding traction in critical business domains.
In terms of what’s holding Clojure back, staffing issues were cited as the biggest source of frustration after “Error Messages”. These concerns are described by Cognitect as a double-edged sword: “on the one hand, lack of a ready workforce can hold back adoption, but on the other, open positions encourage growth of that same ready workforce.”
The Clojure community is relatively young compared to other JVM collectives, but there’s evidence it’s growing. In this survey, “1 year”, “2 years” and “Just getting started” in response to “How long have you been using Clojure, ClojureScript or ClojureCLR?” were the top three answers respectively, correlating strongly with Cognitect’s data from the past two years’ Clojure/conj, Clojure/west and EuroClojure events, where around 60-65% of attendees were first timers to a Clojure-centric event.
If you’re tempted to add Clojure to your functional portfolio, check out this Devoxx 2015 session, where Vijay Kiran explores the foundations of the language and several features that make working with Clojure “a joy” – things like STM, functional programming, concurrency support (primitives, channels) and transducers and their real-world applications.