Learning Clojure
Over the past few months, we’ve been making a pretty aggressive move towards using Clojure in our model at World Singles. We still have a CFML-based application in a ColdBox framework, but our model has seen a lot of CFML re-written as (fewer lines of) Clojure.
Before anybody asks, or leaps to conclusions, there will be no Helms-ian type blog posts where I bid adieu to the CFML community. Learning and using a new technology does not, and should not automatically equate to closing the door on any other. I’m not learning Clojure to replace CFML. I’m learning Clojure in addition to CFML. CFML will always be a tool in my toolbox. It just won’t be so lonely anymore.
Why Clojure? Why Functional Programming at all? Excellent questions. To be honest, I’m not at a point (yet) where I can clearly or intelligently explain. But fear not, for others have already taken the time to extol the virtues of both Functional Programming as well as Clojure.
I’ll be blogging about this particular journey. It’s been pretty slow going so far, as it really is a significant paradigm shift. Function programming versus OO, Clojure syntax versus CFML… it’s quite a bit to take in. I’ve been working my way through Practical Clojure (Affiliate Link), but have found myself re-reading chapters two to three times, just to make sure I really understand the concepts before moving forward. Unfortunately I’ve also been sidetracked with side projects, like moving this blog from BlogCFC to WordPress, and moving my VPS from Windows to Ubuntu. And when I find the time to get back to the Clojure book, I feel that it’s worth going back a chapter or two as a refresher.
But now with the blog and server migrations “mostly done”, I should be able to dedicate at least an hour a night to my foray into Clojure. It really is a whole new world, which is both exciting and terrifying. Not unlike a roller coaster. Or marriage.
Next up I’ll explain how you can get Clojure up and running locally in ~ 3 minutes, in case you want to play along at home.
3 comments | 638 views


Learning Clojure | Clojure | Scoop.it
[...] Learning Clojure Figuring it out as I go (Blogged: Learning #Clojure: http://t.co/fDLZNbo…)… Source: charlie.griefer.com [...]
Mike Chandler
Oh boy. I’m just going to have to break down and start looking at clojure, aren’t I?
When I get home tonight, I’ll try out your 3 minute tutorial!
Sean Corfield
@Mike, did you try out Charlie’s 3 minute tutorial? I’m very interested to see how CFers react to Clojure. Yes, it’s very alien but I think the average CFer – without too much OO exposure – might find Clojure easier to pick up than the average Java developer. Going from imperative procedural thinking to functional thinking is easier than going from imperative object-oriented thinking, in my opinion (an opinion I want to verify or disprove – which means I need more concrete experiential reports from folks!).