This was my first week of Clojure. I was pretty excited about it to finally get the change to actually do something with. I did the Clojure Koans and parts of 4Clojure before, but I prefer doing something more than just filling out blanks.
Don’t get me wrong, the Koans and 4Clojure are an excellent entry point to get a feeling of the language itself, and I recommend it to everyone wanting to start with Clojure.
It’s just that I like having a small “project” or goal to work towards to. With that I have a goal in mind and can start improving my knowledge about a new language and the environment of it. Just by doing the Koans you still don’t know how to separate your source files, how to test your code and how you build your project into a deliverable component.
(To learn it a bit better I also used Clojure for last Friday’s Waza time to create speclj-unicornleap. A plugin for Speclj that integrates unicornleap into a test run.)
This week of Clojure was definitely entertaining as the functional approach can be mind bending sometimes. Having done OO for several years left it’s marks, as I constantly try to get rid of all the primitive type handling. But with Clojure it seems I should embrace it again more often.
That said, my code is far from idiomatic Clojure. But we all start somewhere, don’t we?