Why Clojure? (2018)
I always think it&#x27;s hilarious when Clojure enthusiasts try to address concerns about the language by talking about parentheses, as if that was actually the major barrier to entry. The parentheses are at best a mild inconvenience...many people love them, including myself, but few people cite the parentheses as a reason to not use the language after actually trying it out. A non-exhaustive list on why <i>not</i> clojure:<p>* It&#x27;s slow<p>* Development with the REPL is slow because the startup times are glacial and REPL-oriented development usually requires tons of from-scratch restarts.<p>* The tooling sucks: build systems, IDEs, debuggers, etc. If you feel like writing code with just an editor and a terminal is like going back to the stone ages, you&#x27;re gonna want to bash your own head in with a mammoth bone club.<p>* Java interop is a black art, and when you need to use it, it will ruin any sense of elegance you felt for your code originally.<p>* The ecosystem practically doesn&#x27;t exist, unless you&#x27;re willing to absorb a lot of java libraries. See above.<p>* The lack of static types hurts you in many ways, most of all your ability to refactor with confidence.<p>* Clojurescript isn&#x27;t the same language, no matter what they promise you. Clojurescript is weakly typed, Clojure is strongly typed. If you aren&#x27;t aware of the difference, prepare to spend weeks of your life tracking down bugs that would only be days in Clojure, and would never exist in the first place in a statically&#x2F;strongly typed language.