So long Haskell, and thanks for all the type inference
I set myself the challenge of learning Haskell in 2012.
I failed.
I learnt a lot about Haskell, I read a book, I tried to write some code. I didn’t really get very far past ‘Hello World’.
I put this down to a few things:
- The concept count is high. It would take me a very long time to get productive, and this was frustrating.
- Node.js (which I had also been learning during this time) is easy to learn, and seems to do more interesting things right out of the box. I got very productive in Node very quickly. This made Node far more interesting, so I didn’t devote enough time to Haskell.
- Haskell is very terse, too terse for me. I cut my teeth on on Pascal!
- I couldn’t find a problem to solve. I didn’t really know what to write.
Anyway, whilst I didn’t get productive (perhaps this was an unrealistic expectation) I did learn a lot about Haskell. I can recommend the ‘Learn You A Haskell‘ book. I had the paper version, but the online edition is probably better as the code samples are syntax highlighted. It helped me appreciate lazy evaluation, pattern matching, and currying. It’s changed the way I write C# (which has some very simple functional programming concepts) and it’s opened my mind to functional programming.
Is Haskell a toy language? I don’t think I know enough to form an opinion. I do think that languages like JavaScript are successful because they are simple. I think Haskell’s concept count has kept it from becoming really mainstream, but if it didn’t have these concepts, it wouldn’t be Haskell, and I don’t think that Haskell cares about fame anyway.
I recommend learning new languages. It’s OK if you don’t become an expert in a year, but simply learning about them will help you to appreciate the wider development world.
So which language to look in 2013? On the shortlist are: Erlang, Python and C++11.
Squirrel Monkey 9:11 pm on January 2, 2013 Permalink | Log in to Reply
Python!
mashupweb 9:40 am on April 19, 2013 Permalink | Log in to Reply
Have a read on Simon Thompson’s book, The Craft Of Functional Programming if you still have the interest in learning Haskell. Otherwise I recommend Python, really useful for big data and Azure (as I had seen at the http://www.bigdatahackathon.com) !!
Richard 9:42 am on April 19, 2013 Permalink | Log in to Reply
Thanks, I’ll take a look!
rifle targets paper 7:58 am on May 12, 2013 Permalink | Log in to Reply
Oh my goodness! Awesome article dude! Thank you, However I am encountering issues with your RSS.
I don’t understand the reason why I am unable to subscribe to it. Is there anybody else getting identical RSS issues? Anybody who knows the solution will you kindly respond? Thanks!!