Functional programming seems is picking up steam again and I thought it’s something should add to my programming toolkit. I dabbled in Erlang several years ago (one GA in erlang does not make you an Erlang guru), but I thought it was interesting enough that I should revisit gaining some expertise in functional programming. Scala seemed like it might be the next language to learn, with its ability to run on the JVM and its increasing popularity on the internet. Yet, I’ve read through the Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition book and didn’t end up really stoked about it. Sometimes it seems like you could easily win a obfucscated programming competition with the code you could produce, and it just didn’t feel clean to me. Maybe I need to spend more time on it by taking the Functional Programming Principles in Scala course that’s going to be offered on Cousera?
Until then, I decided I want to spend my spare time playing with something that isn’t running on the JVM and I already good with Python and Ruby. I think Go is pretty interesting and I really like the Rob Pike presentation on it, but while it’s pretty cool, it’s probably not the best language to teach me to think more functionally. After poking around on the computer language shootout benchmarks, I’ve decided to give Haskell a try for a bit. Here’s my plan :
Blog Posts that are worth reading:
- Hello Haskell, Goodbye Lisp
- Why Haskell?
- Why Lisp is a Big Hack (and Haskell is Doomed to Succeed)
- Is Haskell the Cure?
Benchmarks worth noting: