Clojure ❤️
I don't think that anyone who knows me professionally, whether they have worked with me or met me through tech-related events and so forth, that I am a fan of the programming language Clojure.
There are a lot of reasons, but the genesis story for me goes back to a time a little over four years before I ever wrote any Clojure, to a conversation with a colleague about what it means to be a software engineer. Nigel Rantor it's all your fault...
Nigel made an off-the-cuff remark to me that while PHP and Python and Perl were all "fine", the only way to really grok software engineering was to look into and use LISP (I am paraphrasing Nigel here, my memory is not that good, and this was around nineteen years ago!). I went home after work that night and started looking into LISP; I don't really know if Nigel knows he held that much sway over my thinking, but he's a really smart, talented person and he had opinions that I had never heard before that nonetheless made sense to me, so when he suggested this area of inquiry to me I paid attention.
That evening was a parade of disappointments, and as I climbed into bed that night I was confused by the fact that I could see why LISP was going to be a great way to write software, but there was almost no way to address the problem spaces that I was interested in, nor was there an ecosystem or community that felt like a practical use of my enthusiasms for improving my practice and my professional prospects in parallel. I put LISP on a shelf in my mind and moved on.
About two years later I overheard another conversation in another workplace...
"This crazy guy has written a LISP that targets the JVM. Why would anyone do that?"
I felt a lightbulb flash on in my mind, and by the end of the week I was playing with Clojure and I saw a viable route to take LISP to the problems I was working on and also at the same time broadening my intellectual horizons vis à vis my professional practice.
So, thank you Nigel, thanks to Rich Hickey for inventing Clojure and for inspiring people like Stuart Halloway, David Nolen, Alex Miller and the other pivotal players in the story. Thanks to Stephanie Hickey, thanks to the whole Clojure Community, with special mentions to Bruce Durling, Malcolm Sparks, Jon Pither, Dominic Monroe, and others too many to mention, who helped me out when I was just not getting something, as they are as generous with their time and enthusiasm as they are just fine folks. All of these people, contributed to me finding a deeper and more satisfying relationship with my professional practice, my craft, and that is a priceless gift that they have all played their part in giving to me.
The Clojure Community has been and continues to be a place of mutual aid, fun, innovation and generosity, in my experience of it, that has been a huge part of why I have continued to enjoy programming and continued to fall deeper and deeper in love with Clojure, and it's as important a part of the attraction to the language as the pillars that Rich and the Core Team built the language upon and continue to protect, so that code I wrote fifteen years ago at the start of my journey still runs on Clojure's latest version today.
If you are a programmer that has lost the joy, a programmer that is frustrated by complexity and verbosity, a programmer that wants to try things without writing / devising Classes for everything and yet still having options to describe your data that will give you great power and great flexibility as your application evolves, then I strongly recommend that you watch this excellent documentary about Clojure and then try the language out:
Clojure - The Documentary
Try the language out here -> TryClojure
I know that I cannot persuade the whole world to move to doing their programming in Clojure, but I would like to hope that I could persuade a couple of people to try it and then if they liked it to tell everyone that they know and maybe we can help more and more people that write software find the joy of Clojure.