I wonder about the distinction between “teaching someone new to programming how to do it using Clojure (e.g., Clojure for the Brave and True, ClojureBridge workshops, etc.) and successfully communicating the advantages of Clojure’s particular design choices and tradeoffs to someone who already has “seen the elephant” and spends at least some of their professional time shipping working software.
In the educational case, I think Clojure does pretty well; bandwidth to on-board new programmers and of course, finding places for them to get paid to apply that new knowledge, remains a challenge. I don’t think that “there’s more Clojurists than Clojure jobs” is either always true, or meant to be elitist; it’s just a common fact of the industry landscape that folks should be aware of.
In the second case, the lack of a Rails-y “just run this command in a terminal and you Have An App” platform certainly raises the bar for working professionals who might spend a weekend afternoon test-driving a new thing to see if it’s worth exploring further, but of course the preference for composing tools and libraries for a given use case is also (rightly, in my opinion) touted as one of the strengths of the Clojure paradigm.
Another quirk of the Clojure ecosystem that I’ve seen trip people up is that libraries, even widely-used ones that are perhaps “the default” for their use case, can sit on some 0.x.y version with no new releases for years, not because they are abandoned, but because they are complete. This is entirely alien to the way of being espoused in other language/platform communities and can seem off-putting, but again, in my view is much better than constantly adding new features in order to maintain social relevance.
My personal suspicion is that, as mentioned upthread, languages Get Big when there’s a new application for languages with coattails ready to ride to mass adoption among folks looking to do that new thing. Clojure didn’t have coattails to ride, and so even though it’s subjectively a much better way to approach many different domains that other languages used to Get Big, Clojure remains something of a backwater.
Clojure is a delight to work in, and the combination of Clojure and Datomic let my colleagues and I punch well above our weight as a tiny team, and for me that is enough. I’m happy I get to work with it, and as the occasion arises I’m happy to tell others about how the language helps me do more, faster, than I could working in Javascript or Swift or C#, etc., but I’m not losing any sleep over the fact that Clojure hasn’t “won” one of the races to the top of “The Only Language for thing
Mountain”.