Why I'm Productive in Clojure (2013)
I&#x27;ve really taken a shine to Clojure. Parentheses and dynamic typing initially kept me away, but they&#x27;re far from the thorns they&#x27;ve been made out to be.<p>Parentheses? You don&#x27;t even see them after a short while--as a beginner, you use something like parinfer, you are good to go. That, and like all lisps, you begin to appreciate programming directly in the abstract syntax tree: the language you type and the way it is interpreted aren&#x27;t disjoint things.<p>Dynamic typing? Being functional, immutable by default, and data orientated steal the <i>vast</i> majority of the sting from that in my opinion--and leave you with often downplayed advantages. On the last point, &quot;data oriented&quot;, to put it succinctly, data itself is first class or the prominent currency among Clojurists, rather than a zoo of abstractions that never quite fit and and all have to be reconciled and made to play with one another (and often the reason you <i>need</i> types everywhere to keep it all straight).<p>But where types--or validation--are more crucial near the boundaries of the API, there are outside the box solutions like Spec that don&#x27;t rely on a baked in type system.<p>The recent keynote by Rich Hickey covers a lot of these points (and far better than me):<p><a href="https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=2V1FtfBDsLU" rel="nofollow">https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=2V1FtfBDsLU</a>