Learning clojure easy way: first steps 0++
19 Jul 2013 Tags:clojure
The Pragmatic Programmer (which is shamefully put in my all time growing read list) advises us (through forums, stackoverflow posts like this since I haven’t read it yet) to learn new concepts, broaden our thinking and expand our vision by learning new stuff, particularly by learning every now and then new programming language.
So, recently I decided to give it a go and learn something new, un-needy and unrelated to my daily work tasks. I’ve been frequently told by senior colleagues what one way to learn to is dive deep into something apparently not relevant, not applicable and different from stuff you used to work with.
Most JVM guys dive into Scala or Groovy these days. I really like Groovy, but for obvious reasons don’t find it too different from Java/Ruby vulgaris (both are languages I used to work with in the past). Personally me dont buy Scala ideas, I prefer to have small/compact/clear language, which doesn’t require having PhD to really get it. It’s something I used to like in old plain C, which in some early versions used to have around 30 reserved keywords. I believe good business application language should be clear and unambiguous; both the application code and the language should be easy to explain to second grade student in matter of minutes.
Being mostly JVM guy, JVM backed languages are definitely my first preference. For last 2-3 years Clojure has eventually come to my close attention. In my student years I used to like Lisp very much. I didn’t use it a lot though, however I implemented several AI course reports in CLOS and enjoyed every bit of it, especially coding in Emacs. Yap, Emacs kinda impressed me at the times.
So I have a tiny Lisp background and I decided it would be cool to see whether it could take me in 21 century. I did my little research, read several documentation papers, few tutorials etc… blah blah And then miracle happened, I came across 4clojure site, which I also highly recommend for everyone looking for small practical exercises to master their Clojure Zen.
My (first (clojure (steps (inc (inc 0))))) - exercises 1..78
Todo add comments eventually
NB. If you've found typos or errors, please suggest a correction or edit on github.