41

Why did Clojure gain so much popularity?

 5 years ago
source link: https://www.tuicool.com/articles/hit/ArEzqaf
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

To be fair - it is not as popular as it could be. Maybe someday it will be, but it's unlikely that it will ever become mainstream. I can speculate on why is that the case, but that's not what's being asked here.

Ideas implemented in Clojure are not very new or truly revolutionary - but they have implemented in such a way that it makes it extremely pragmatic to solve real-life and not some esoteric problems.

Clojure is some kind of Frankensteinian language - it steals good ideas from other languages instead of implementing them from scratch. It doesn't "reinvent the wheel", it minimizes the "bad parts", it prioritizes on developer's happiness.

Skeptics would say: "what problems Clojure is solving? I can perfectly do the same things in Java/Scala/Kotlin?" or "what problem Clojurescript is solving? I can perfectly do the same thing in Javascript/Typescript". There is probably a very few things that you can do in Clojure that you cannot do in Java - that's true. But again, the same thing been said about Assembly and Fortran, and then C and then C++ and then Java, etc. etc.

Clojure solves many problems that you may not even be aware of. Only after using it for a while - it becomes apparent. You'd notice how clunky your previous workflow was in comparison.

Just like late Joe Armstrong (co-creator of Erlang) once said:

Make it work, then make it beautiful, then if you really, really have to, make it fast. 90% of the time, if you make it beautiful, it will already be fast. So really, just make it beautiful!

Clojure is specifically designed to easily write software in that order:

1) Make it work

2) Make it beautiful

3) Make it fast.

But that's not how programming being taught and mentored today - it's more like "steal it from StackOverflow, adjust it to your needs. Do what everyone is doing. It's okay to follow the hype". Experienced software developers don't chase the hype - they look for most efficient ways to solve their problems at hand. And Clojure is perfectly suited for that.

If I have to choose between hiring five Javascript/Java developers and pay them 150K/Y each or hire three Clojure developers and pay them $200K/Y I'd personally choose the latter because ROI, in that case, would be much, much higher.

Among the first companies who figured that out were fintech startups. And Clojure today is thriving in Fintech sector. Most developer surveys of the past few years show that Clojure developers are among the highest paid. I believe that would slowly drive need to learn Clojure and its popularity will increase over time.

And If you don't know Clojure, you should learn it. Why? Just open any StackOverflow/State of Javascript survey (or similar) of the past few years - Clojure devs are getting paid.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK