One of my goals for this year was to start learning Clojure, Scala and a little bit of Haskell; yes I know that’s too much for one year, my plan was just to focus the majority of time with Clojure, check and experiment with Scala and learn some books about Haskell without getting any deeper. My motivations in general were to get better as a developer taking the advice from the Pragmatic Programmer book and learn about functional programming in particular.
Normally new years resolution don’t go according to plan and I spend the first half of the year well just not learning about anything of those things. I tried with Clojure and find the syntax kinda weird and I stopped, then I went with Scala started Coursera’s course but due to time restriction I did not finish it. Like three weeks ago I started all over again with Clojure, I read Clojure Made Simple which is not that good but I least gave me some introduction to the language and also I did some exercises at 4Clojure; after remembering that I also started another course which I did not finish “Yes I know, it’s seems that I normally don’t finish stuffs, but sometimes life just hit us hard” that course was about programming languages and they show us some Racket. Which got me curious on that language.
Racket is a Lisp dialect and I thought that probably it will help me with my Clojure learning, I asked some questions at #racket channel in IRC and they point me to a new course from coursera - Systematic Program Design which I enrolled of course and man that was the best thing I’ve ever done this year, the classes are engaging and also the language is quite fun to learn, I don’t know why because it’s quite similar to Clojure but there’s something about the community that’s just keep you engage. I’ve been doing the examples and is just feels right to me.
I’m trying to follow my emotions on this and I’m trying to learn it deeply; it’s been just a week of active learning and I’m planning to keep on with the course, I will try to document everything in here just to share my findings with newcomers; stay tuned ;-)