HACKER Q&A
📣 uxcolumbo

Why Hasn't Clojure Caught On?


Is it really just about the parens?

Or that it doesn't have an 'all batteries included' framework like RoR?

I know many in the community are saying it doesn't really matter.

But it kinda does, no? Higher adoption means more companies using it and more Clojure related jobs.

So I'm just curious what are the main factors that Clojure remained quasi niche. If you check Google Trends it started dipping since 2017.

Why isn't it more used in ML / AI projects, which it seems well suited for compared to Python.

Great documentary! https://clojure.org/about/documentary

So hopefully this will help to create more interest and grow the ecosystem.


  👤 PaulHoule Accepted Answer ✓
I like the immutability thing and there is certain kinds of code for which it is genius but I would say you lose a factor of two or so in performance relative to mutable data structures. You might say that it is a small price to pay but people who care about performance feel differently.

I think also Python just has the whole ecosystem for ML work, like so often I can just

  uv install whatever
and I am working with very powerful models on my GPU: part of that is that Python has a C FFI which is easy to work with to integrate the latest numerical and ML libraries and the other path it is all stacked up in easy-to-use packages -- a non-professional programmer can use scikit-learn and pandas and matplotlib to put their skills on wheels.

Python is also a better language for metaprogramming and advanced programming. Like if you look at Graham's On Lisp my two takeaways are: (1) if we was using Clojure instead of CL he would not be fighting with nconc, and (2) almost all the examples in the book can be worked in Python without macros except for the thing where they build an async system for CL and... Python has an async system built in.

Similarly you can implement the stuff in Norvig's book Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp in Python pretty easily. Performance for branchy "old AI" tasks like rules engines and the semantic web is inferior in Python compared to the JVM but actually it is not so bad if you use PyPy.


👤 Jblx2
>Is it really just about the parens?

Probably not the only reason, but certainly a big factor. I'm assuming Clojure is still tied to Java and JRE? It would probably make sense to make a list of languages that have "caught on" or at least those that are currently still "on". Is Ruby (still?) in the "on" category?


👤 rvz
It's a great language, but it is unfortunately tied to the JVM.

Case clojed.


👤 perrygeo
Some thoughts:

1) Clojure is stable and there will never be big news or big changes to the core language. It's simple in the objective sense. There's fewer patterns to learn, hence less to talk about online. The code I wrote 12 years ago still works. The books I bought 12 years ago are still relevant. To an amateur github star gazer looking only at the metrics from the past month, this looks like stagnation. To me, this looks like good engineering.

2) The can-do pragmatic attitude meshes very well with entrepreneurs and small teams writing proprietary applications that need to get things done. These are NOT the people evangelizing and marketing open source tools. Clojure's successes are private, small, and quiet. In general, there is little to no focus on external validation.

3) Clojure is unabashedly a tool for experts. Don't get me wrong, the community is amazingly welcoming to newbies (as I discovered). But in order to align with Clojure's value proposition, you need to understand the problems it solves and feel them deep in your bones. If the words "mutable state" mean nothing to you, Clojure is going to feel wierd.

These conspire to make Clojure less visible online. Clojure's core audience, expert programmers who focus on outcomes and stable code, they do not read or write SEO blog spam.

The trending technologies, those that change so much they require articles like "How to do X in Y in April 2026" are built on shaky foundations. Trending means churning. That's hardly a value worth chasing.