So, I finally had a little time this weekend to try and get back into a habit I had unfortunately fallen out of—learning at least one new programming language each year.
Haskell is one language I’ve been meaning to investigate. I’ve actually tried to pick it up a few times, but it has some pretty high barriers to entry:
- There are several implementations available, without any good recommendations of which one to use. (I finally went and grabbed GHC, because darcs requires it and I wanted to give darcs a try.)
- GHC takes forever to install from source. Many, many hours. If there is a precompiled binary for your platform, I’d highly recommend grabbing it.
- Until quite recently, there have been no good online tutorials for learning Haskell. Even A Gentle Introduction to Haskell is anything but. (Brian Mitchell once explained to me that it is gentle compared to the highly academic Haskell Report, which it supplements.)
- As a functional language, it is significantly different from most other languages I’ve ever used. Thus, without a good tutorial it was hard for me to wrap my brain around it.
Fortunately, I stumbled upon A Haskell Tutorial for C Programmers, which was finally what I needed to break into Haskell programming. It covers all the major bases, and gives you just enough background to go in and start reading the other tutorials.
Anyway, I’m excited to start learning Haskell. I certainly doubt it’ll replace Ruby as my language of preference, but it’s always good to step back and get a new perspective on the art and science of computer programming.