I'm almost finished with 'Learn You a Haskell For Great Good'. (gotta love the name)
After this it's on to 'Real World Haskell'. I ordered it in dead-tree form and hope to have it before I finish the first book.
To further soak myself in Haskell, I've decided to switch to XMonad as my window manager. The fact that I had a lot of trouble getting StumpWM running on my freshly reinstalled laptop (x86_64 this time) helped a lot ofcourse.
(I'm staying on the stumpwm IRC channel though, I love those guys ;-) )
'The Pragmatic Programmer' tells us to learn a new language every year. Well for me, that's about true in the last couple of years. But frankly, I'm not looking to learn a couple dozen new languages, I'm trying to find one I really like and can be used for practical problems.
Haskell isn't really a language that seems very practical at first glance. But little by little, it's practical side is showing and I'm guessing there's a lot more to come. I'll give it a while. If I can't get stuff done with it, I'll continue my search :-)
Sunday, August 16, 2009
Saturday, August 8, 2009
Picking up Haskell
I've been reading so much about Haskell lately, it started to annoy me. When that happens I felt like I had two options:
1. Ban everything Haskell from my newsfeeds.
2. Learn it just to see what the fuss is about.
Obviously I've chosen the latter.
It's not that I don't like Lisp anymore, far from it! But a couple of blog posts have made me think about learning a 'current' functional language. Something shiny, something that can cope with all the buzzwords (concurrency and whatnot)...
So I decided to give it a go. I've been reading the excellent, excellent Learn You a Haskell For Great Good. (I cannot emphasize enough how good this book is. It's not even finished yet but I already tried to pre-order the print version of it.)
At first glance, Haskell seems very complicated. All those little arrows, double colons, pipes,.. very syntax heavy. Using Lisp for about a year now I've grown very fond of almost no syntax at all.
Still, I decided to give it a chance and started reading. After a couple of pages I was already going "Hmm this isn't so bad afterall...".
They had me at list comprehensions and pattern matching. It's like reading a mathematical definition. Only, you can execute it too! Haskell is filled with flashy words too.. currying, partial application, functors, monads. While I haven't had the (I assume) pleasure to read up on monads, all the other words are just a fancy name for a fairly straightforward concept...
Also, Haskell forces you to think functionally, while Lisp only encouraged it. I've caught myself several times writing in an imperative fashion in Lisp. (Old habits I guess...).
I'm really looking forward to be proficient in a functional language.
Anyway, long story short, I really like Haskell so far. I've already seen glimpses of how it can also be practical.
I must admit I'm more excited about learning Haskell then I was about learning Lisp. And I already thought Lisp was the best thing since sliced bread.
We'll see how it goes!
1. Ban everything Haskell from my newsfeeds.
2. Learn it just to see what the fuss is about.
Obviously I've chosen the latter.
It's not that I don't like Lisp anymore, far from it! But a couple of blog posts have made me think about learning a 'current' functional language. Something shiny, something that can cope with all the buzzwords (concurrency and whatnot)...
So I decided to give it a go. I've been reading the excellent, excellent Learn You a Haskell For Great Good. (I cannot emphasize enough how good this book is. It's not even finished yet but I already tried to pre-order the print version of it.)
At first glance, Haskell seems very complicated. All those little arrows, double colons, pipes,.. very syntax heavy. Using Lisp for about a year now I've grown very fond of almost no syntax at all.
Still, I decided to give it a chance and started reading. After a couple of pages I was already going "Hmm this isn't so bad afterall...".
They had me at list comprehensions and pattern matching. It's like reading a mathematical definition. Only, you can execute it too! Haskell is filled with flashy words too.. currying, partial application, functors, monads. While I haven't had the (I assume) pleasure to read up on monads, all the other words are just a fancy name for a fairly straightforward concept...
Also, Haskell forces you to think functionally, while Lisp only encouraged it. I've caught myself several times writing in an imperative fashion in Lisp. (Old habits I guess...).
I'm really looking forward to be proficient in a functional language.
Anyway, long story short, I really like Haskell so far. I've already seen glimpses of how it can also be practical.
I must admit I'm more excited about learning Haskell then I was about learning Lisp. And I already thought Lisp was the best thing since sliced bread.
We'll see how it goes!
Subscribe to:
Posts (Atom)