Oh Clojure!
I am an ardent fan of the Functional programming paradigm, and in particular the Lisp family of languages. Clojure stands out in that list due to it being a modern and brilliant Lisp. It is one of the best ways to weed out accidental complexity (usually introduced by languages like Java) and worry about only the essential complexity of a problem. We are all indebted to Rich Hickey for creating Clojure, piggy-backing on the JVM, and later ClojureScript that targets JavaScript.
It is indeed a pleasure that some of the concepts of Functional programming has trickled into the mainstream programming languages like Java and C#. The other Functional programming languages I have dabbled with include Haskell, Scheme, Racket, Elixir, Scala, F# and Elm among others.
But Clojure stands out, for me at least, as the language I felt most joy coding with (with Ruby in the second place).
This interest in Functional programming flowed from perusing books and articles including The Cathedral and the Bazaar by Eric S. Raymond, and the excellent, thought-provoking posts by Paul Graham including Revenge of the Nerds and Beating the Averages.
Though there are a number of books, blog posts and videos on Clojure, it would be remiss if I don’t mention the ones that I found most useful. In no particular order:
Rich Hickey’s greatest hits – “Rich Hickey, the creator of Clojure, is consistent in delivering fantastic, thought-provoking talks.”
From Uncle Bob Martin:
Perhaps the best of these articles – Love Letter To Clojure (Part 1) by Gene Kim of the The Unicorn Project and The Phoenix Project fame (awesome books them, btw!).
Many Clojure books are listed here, but the ones that I found most useful would include:
Seven Languages in Seven Weeks by Bruce A. Tate
Programming Clojure, Third Edition by Alex Miller with Stuart Halloway and Aaron Bedra.
Functional Design: Principles, Patterns, and Practices by Uncle Bob Martin.
And then there are the classic Lisp books and for want of time, I am not venturing into listing them.
Happy coding and thanks for reading!