I have recently picked up Clojure and I’m in the process of getting familiar with the community. I would like to share some thoughts from my entry to this world, and casual conversations I’ve had with “outsiders” along the way.
In the past, my primary programming languages have been Python, Ruby and Elixir. When I ask developers why they like those languages, they often say things like “it’s easy to learn,” “it has such a big ecosystem, with a lot of libraries” and “the community is super welcoming and helpful.” If anyone would have asked me some years ago, I would also have given an answer along those lines.
For lack of a better term, I’ll call that “the effects of branding” the language and its wider ecosystem. “Image” might also be an accurate term. In essence, it’a about people’s thoughts and feelings towards the language. I believe the “brands” of many popular languages can in large part be credited to their creators and early adopters and “influencers.” More than to the actual merits of the languages.
When I ask “outsiders” about their impression of Clojure, they often say things like “it’s an exotic/esoteric language,” “it’s difficult to learn and use,” “yuk, look at all those parentheses!” and “[some other language] has a larger community and more libraries,” amongst other things. That is, unless their response is “never heard of it.” The objections I hear are often shallow and misinformed.
A friend of mine spent a few year gently convincing me to try Clojure. And I’m a programming language enthusiast! I had heard some great things about the language, but it also seemed to have an unappetizing “cult-ish” aspect to it. And hearing the term “Java” put me on the defensive immediately (I did not distinguish between Java and the JVM at the time).
When I finally caved and binge-watched Rich Hickey’s talks on YouTube, everything started making a lot of sense to me.
As a programming language with excellent merits, Clojure can indeed speak for itself. But I feel like we could do a lot more help in “the communication department,” by being smarter about what we communicate and how.
Clojure has so much to offer, and I feel like the message is not reaching a broad enough audience. I feel like a lot of developers out there “don’t know what they don’t know.” Clojure is objectively a much more productive language, especially for “situated systems,” data-driven applications and data science. And one could make the case that it’s actually easier to learn than, say, Python.
And I believe it’s a good thing to have as many users as possible. Because that’s what generates buzz, makes it easier for developers to “sell” it to their companies, etc. When more companies start using Clojure, we’re likely to see an even more vibrant community, more capital investments (like Nubank), more open source libraries, etc. I believe more enthusiastic users and increased adoption is the catalyst for everything else. We should want to get this wonderful tool in the hands of as many craftspeople as possible.
Here are some of the questions I’m thinking about:
How can we make more developers aware of Clojure and its strengths?
What are the most common misconceptions about Clojure, which are scaring people away?
How can we communicate the main benefits of Clojure more effectively, especially when contrasted with other popular languages?
What are the main roadblocks for getting more developers to try Clojure?
How can we make the “getting started” experience as smooth as possible?
What are the main libraries or frameworks (I know, I’m swearing in church…) that people are concerned about?
What do you think?
Keep in mind that I’m still relatively new to Clojure and its community, thus I’m naive to what has happened in the past. Maybe these things have been discussed before; I wouldn’t know. And I imagine the annual “State of Clojure Survey” could reveal some relevant insights.
Side-note: This was originally posted in the Clojurians Slack (#community-development), and spurred the creation of a new channel called #growth. You’re welcome to join the conversation there as well.