Tue 18 February 2014
I've been learning a bit of Lisp on and off for a few years, I first read (about half of) Land of Lisp, then Practical Lisp then I came across Clojure a modern Lisp that runs on the JVM and since I've been reading Clojure Programming and working through koans and katas.
A few months in I'm really enjoying working with Clojure which feels like a thoughtfully designed language that incorporates sound theory in a practical way. The way the language and tooling favour interactive development really suits (especially lein and vim-fireplace) and I'm really drawn to the Lisp everything is an expression and code-as-data principles.
What little contact I've had with the community as been positive, it feels like a community of bright individuals from a range of backgrounds which give it enthusiasm and a healthy balance.
I was a bit hesitant of it being hosted on the JVM at first and it does suffer in places from the "window into hell" syndrome where you are exposed to the guts of the implementation but the infrastructure provided by the JVM seems to largely make up for this.
I'm sure Clojure is likely to my language of choice for a while, I'm now looking forward to getting on to exploring some of it's key features such as concurrency which I've only scratched the surface of so far.
Some links to resources I've found useful or interesting while learning the basics: