There’s been a lot of talk about Clojure adoption lately…
I want to put something out there about that subject.
Clojure is the easiest language.
There, I said it.
I haven’t wanted to say it for years. Secretly, when other people said Clojure was hard, it made me feel superior - like I was special because I “knew” Clojure. And, with Clojure being a nascent up-and-comer, I didn’t want to give people the impression that Clojure was some toy language like Python, for beginners.
But that was a lie. Clojure is the best beginner’s language because it’s the easiest language. Literally and objectively.
And, with all the progress Clojure has made - hell, we’re the best paid programmers in the industry! - I feel like Clojure has “made it” and we no longer need to hide Clojure’s secret. We have to stop acknowledging the argument that “yeah, the parens are hard at first.” It’s just not true. They’re not. There’s literally nothing hard about Clojure. Sure, being a “hosted” language makes things a little more complex, but you can stick to the core language as a beginner and it will be easier to learn than any other language. I know, because I came to Clojure as a beginner and the only reason I got hooked was because it was easier. I’m lazy like that - I like easy, that’s my secret - and Clojure makes hard things easy.
We shouldn’t be afraid to be honest about that. Not anymore. Clojure is more “scriptable” than any scripting language in existence. Maybe we’re afraid that our “highest pay in the industry” will go down if the secret gets out. Maybe we’re afraid people won’t think we’re magicians anymore. But if Clojure is going to grow beyond the magician class, people need to know - Clojure is actually the easiest language. It’s just true.
I know - “Simple ain’t easy.” But that war was won (by Rich and others). It’s easy now. Almost too easy, it’s ridiculous what we can accomplish with such ease. Sharp tools and special instruments, blah blah, sure. We have those. But Clojure is the most general purpose, forgiving, easy language you can wield to get anything done. It’s the hammer, not the chisel. Sure, you can chisel with it, which is great. But the best part about it is that, in the general case, it’s the easiest, biggest hammer around.
Thankfully, Clojure is versatile enough that it can achieve production level performance - in fact, you can achieve anything, and that part can be hard, but at least you can achieve it. 99% of your problems are not those hard problems though. And for those common problems, using any other language is like trying to swim up stream - in the long run, you’re just making things harder for yourself. That’s our dirty little secret that we’re not being honest enough about. Perhaps out of pride.
I think it’s time we let the cat out of the bag.
Clojure is the easiest language. Period. Let’s stop pretending it’s not.