That’s a question I get when first asked "What are you doing at the moment?" and I reply "Learning Haskell".
Let’s go back to April 2007, and Ian Cooper comes along to NxtGenUG to give a great session on Object Orientated Practices. During that session he mentions The Pragmatic Programmer as a good book to read to improve oneself as a software developer. As luck would have it my co-worker, utility ‘king’ and good friend Andy Maggs has a copy. I borrow it, read it, well most of it, but that one piece of advice in the book which sticks, really sticks, is "Learn a new language each year".
That seems like an awful lot of work, and I put that thought aside.
Along comes VBUG Conference for which I do a session on LINQ to XML. During my research, I have a brief flirtation with monads which brings me into contact with Haskell for the first time. Interested, I see its a pure functional language, but don’t really give it much attention.
Along comes MIXUK, and in the last session Simon Peyton-Jones delivers what I have described elsewhere as a ‘thunderbolt’ of a session on Transactional Memory. During this session Simon mentions Haskell again and the fact that he is one of it’s architects.
By now, my interest is up but so are my commitments, speaking at several UK conferences including DDD, MIXUK, SQLBITS and VBUG Conference. Also looming is TechEd 2007 where I would be delivering my XSLT Extreme Session. So I put everything on hold until post TechEd.
So November 13th I decide that I will grab that thought from above , learn a new language and its going to be Haskell! Why? Well here’s my rationale. I’m not saying you should learn Haskell, just here is why I’m learning Haskell:
- XSLT is my favourite language – it’s functional albeit in the XML domain, so functional programming is not entirely alien.
- Functional languages seem to offer a potential for coping better with the multi-core future we’re facing, time will tell if this potential can be realised.
- Silverlight is not a technology I can really embrace. I have little or no designer skills. I can understand and do understand the underlying technology, but I don’t believe can make the most of it, besides there are plenty of guys and gals looking at it. Ditto LINQ. And I felt I needed to do ‘something completely different’ to quote Monty Python.
- I spoke to Don Symesat TechEd, one of the main architects of F#, and he encouraged me to learn Haskell as it would stand me in good stead when learning F# if I decided to learn that.
- I plan to put together a session over the next 6 months describing what functional programming is and what pluses it offers developers like myself, plus its pitfalls and drawbacks.
That’s why I’m learning Haskell, but why am I writing about this? It’s that man Ian Cooper again. At DDD6 Geek Dinner, I told Ian what I was doing and how it was actually all his fault, his response: "Make sure you blog your journey through Haskell".
So, who am I to argue with a lynchpin of the UK community and great speaker that Ian is. So this was blog number 1 on Haskell, more to come as I delve further and further into this somewhat different world … Next time we’ll have a chat about getting started with Haskell, and what I did to write my first Haskell program …
Cheers
Dave Mc






Leave a reply to davemcmahon81 Cancel reply