Some days ago, I was cleaning my Code folder from old snippets and test projects when I found an old Clojure package I did to test some Clojure feature. I remember that I kept the project sleeping in my Code folder because I thought that it would come in handy when Clojure 1.9 would be released. However, I left that project stub back in February 2016, more than a year ago. That raise the question: where is Clojure 1.9?
In the last article in which I compared Clojure and Elixir, I said that I was eager to see the new exciting improvement 1.9 would have brought to the language. Everybody talked about them in the comment. However, Clojure 1.9 is still in the alpha stage thirteen months after the release of Clojure 1.8.
This is not a big deal, in general. A full year of development is not so bad and people should not worry about that. Moreover, Clojure development is not bloody fast, but it is regular and active. Last alpha version (alpha-15) was released just some days ago on 14th March.
The thing I am more concerned about is that I perceive much less excitement and hype around the language compared to, for instance 1 year ago. This is physiological, but I think there is a big external reason here. Clojure, in fact, has some problems that, in my opinion, makes not-super-enjoyable developing in it. As we said in other times, Clojure integration with Java is not very smooth. I talked about that with more details in the last Clojure article but, in short, the point is that you can feel the rough edges of the JVM when you code in Clojure.
While these problems seems to not be addressed promptly, new languages are literally devouring the Clojure’s market share. Elixir, is eating all the hype for the concurrent dynamic functional folks. Kotlin provides an exceptional integration with the JVM and the Java ecosystem, it is a pleasant language and it is absorbing all the people interested in an alternative JVM language. Go, as usual, is eating all the rest.
At this point, if we remove the people interested in learning a Lisp language, we may ask what is the purpose of Clojure today. And the fact that this question seems to be reasonable is the core of my concerns for Clojure.
All this has nothing to do with the quality of the language. But in a decade with so many hyped (often over-hyped) new languages, I think it is an important thing to take into account if we want a language to be successful.
In conclusion, I am still eager to see the new Clojure 1.9 released. I think it will be an important improvement for the language, and moreover, it may reactivate the buzz around Clojure.