Analysis of the State of Clojure and ClojureScript Survey 2014

Yesterday, we posted the raw results from the 2014 State of Clojure and ClojureScript survey, where you can find not only the raw results but the methodology and other details of how it was conducted.  I want to first thank Chas Emerick for having launched the survey back in 2010 and repeating it through 2013, and for reaching out to Alex to run it this year when he could not.  

As always, the purpose of the survey is to shed some light on how and for what Clojure and ClojureScript are being adopted, what is going well and what could stand improvement.   

What's the overview?

We'll look at the individual questions below, but there are some demonstrable trends we can tease out of these responses.  

  1. Clojure (and ClojureScript) are seeing increasing use for commercial purposes, with noticeable growth on all measures where this survey tracks such things.  From use on commercial products and services, to "I use it at work", we're seeing strong positive movement.
  2. ClojureScript is coming along for the ride - even though it does not seem to have a substantial independent identity separate from Clojure, it is also seeing strong growth in commercial application.
  3. The community is adding new users faster each year, which could imply accelerating growth (though remember that this is not a scientific survey).

Let's look at the questions individually, first from the Clojure survey:

How would you characterize your use of Clojure/ClojureScript/ClojureCLR today?

The percentage of respondents using Clojure at work has nearly doubled since the 2012 survey (38% to 65%), which is the big news here.  This would seem to comport with the changes we see in the domains question, and a continued sign of robust commercial adoption of the platform.

In which domains are you applying Clojure/ClojureScript/ClojureCLR?

Web development is still the top dog, and that helps explain the continued increase in usage of ClojureScript as well.  What is significant is the jump in respondents working on commercial products and services (jumping from the low 20s to the low-to-mid 30s), while NoSQL and math/data analysis took a small tumble, essentially reversing positions with commercial development. Network programming is the only other thing to make a substantial move (dropping down about 10%).  Really the takeway is that commercial development is gaining  steadily, demonstrating a continued growth of Clojure in commercial settings, with a quite dramatic increase from 2012 (12% and 14%, respectively).

How long have you been using Clojure?

While the answer distribution has remained largely the same, the relative growth of the "Months" response (moving up a slot) matches up with other metrics, like Kovas Boguta's post analyzing GitHub metrics, to show a continued picture of accelerating growth in the development community.   

Do you use Clojure, ClojureScript, or ClojureCLR?

The JVM platform clearly dominates, which is no shock.  There is no cross-over in the responses between Clojure and ClojureCLR. However, a quite impressive 54.9% of respondents are also using ClojureScript, which is a measurable increase since 2013, though there is still no significant sign in the survey results of a ClojureScript-only userbase.  This seems to imply a continuation of the theme from last time: ClojureScript is adopted (in growing numbers) by existing Clojure developers, not as an independent entity.

We have not previously had ClojureCLR explicitly included in this survey. The recent release of Arcadia (ClojureCLR + Unity gaming engine) may have spurred some recent interest in the ClojureCLR platform. Thanks as always to David Miller's tireless efforts in this area. 

What is your *primary* Clojure/Script/CLR dev environment?

Cursive (a Clojure IDE built on IntelliJ) is the big winner, jumping dramatically to second place.  Interesting that Light Table saw absolute growth in both respondents and percentage, but still fell a spot due to Cursive's massive growth. While Emacs continues to dominate, it is great to see a vibrant collection of options here, to suit every developer's and team's needs.

Which versions of Clojure do you currently use in production or development?

Great to see that 1.6 dominates and it would seem that everyone is able to keep up with the new releases.  A full 18% are using the 1.7 alphas in production or development already.

What version of the JDK do you target?

These answers comport with other survey results recently released, showing a rapid uptake of 1.8 at 49% of respondents.  1.7 is still the most common platform at 70%, and 1.6 is slowly fading at only 14%. Last year, 1.6 was still 19% of the sample, while 1.8 was a mere 5%.  

What tools do you use to compile/package/deploy/release your Clojure projects?
 
Leiningen would now appear to be ubiquitous, at a whopping 98% of respondents using it (up from 75% last year).  There isn't a significant change anywhere else.  

What has been most frustrating for you in your use of Clojure?

There has been remarkably little motion in this list over the years.  Staffing concerns, which jumped all the way to #2 last year, fell a spot this year, falling behind documentation/tutorials.  It is interesting to note that #4, finding editing environments, remains steady even though there has been dramatic shifts and growth within the editor responses.  Otherwise, hard to see any new trends here. Congratulations to everyone for "unpleasant community interactions" continuing to come in dead last.  

Next, let's look at the ClojureScript survey

How would you characterize your use of ClojureScript today?

Once again, we see a dramatic jump in usage at work - from 28% to 49% in just the last year. Serious hobby also climbed roughly 20%.  It would appear that the rising tide floats all boats, as the entire Clojure ecosystem is seeing growth in commercial development use.  

Which JavaScript environments do you target?

Browsers are now ubiquitous, being targeted by 97% of the community, with everything else on the list remaining largely unchanged.

Which ClojureScript REPL do you use most often?

Chas was quite distressed last year to note that more than a fourth of the respondents used no REPL at all.  This year, that number is now almost a third. On the other hand, Austin took a major jump all the way to #2 at 22%, probably due to his commitment to it after last year's survey.  Light Table also came from literally nowhere (not named on last year's survey) to occupy the third spot.  In fact, it wasn't even included in the original responses until a bunch of people requested it be added, so it might be under-represented in the list. So even though even more people aren't using a REPL at all, the options seem to be growing.

What has been most frustrating for you in your use of CLJS?

Through the change in the question style, we can get a better picture of the real answers here.  The difficulty of using a REPL jumps from 14% in 2013 to a whopping 68% this year, while debugging generated JavaScript rises from 14% to 43%.  This is a much better window into how much pain those two items cause the community.  It is impossible to tell because of this change in survey methodology, but the addition of CLJS source map support has most likely made that issue less difficult for many.

The Takeaway

While not a scientific survey, with five years of data it is really possible to spot trends.  Clojure has clearly transitioned from exploratory status to a viable, sustainable platform for development at work.  And as the community continues to add new users at an accelerating pace, we should only expect that trend to continue. 

Our thanks to everyone who took the time to fill out the survey - this kind of sharing is invaluable to the wider community.