What the heck is Haskell?

HaskellLogoThat’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:

  1. XSLT is my favourite language – it’s functional albeit in the XML domain, so functional programming is not entirely alien.
  2. 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.
  3. 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.
  4. 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.
  5. 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

Advertisements

About davemcmahon81
Software Developer & Architect, User Group Leader, Speaker, Writer, Blogger, Occasional Guitarist, Man-made Global Warming Sceptic, Climate Change Believer, General Optimist but most of all proud Husband and Dad ...

4 Responses to What the heck is Haskell?

  1. Unknown says:

    クレジットカード 現金化 ショッピング枠 現金化 現金化 出会い系 ショッピング枠 現金化 美容整形 競馬予想 不動産 東京 不動産  ダイビング 沖縄旅行 不動産担保ローン アルバイト 求人情報 アルバイト 求人情報 通信制高校 バイク買取 出会い系 クレジットカード 現金化 格安航空券 婚約指輪

  2. Unknown says:

    競馬 パイプカット インテリア 雑貨 為替 外国為替 結婚式 ウェディング インプラント競馬予想 中高年 転職 転職 悩み 相談 医院開業 システムキッチン 美容院 クレジットカード 現金化 為替 服飾 学校 資格 看護 システムキッチン FX 外為 ショッピング枠 現金化 結婚式 ウェディング

  3. martin_humby says:

    Is there a point to these functional languages I wonder. Seems to me that you can probably write much the same in any general purpose language that features functions (or methods) as a first class data type – and sort a few million records while the functional language is still parsing its one line sort function. Garbage collection makes closures as such redundant in any OOP language – an object does just as well, which leaves predicate dispatch as the only possible advantage. There is a version of Java that does it but with Java’s lack of the aforementioned first-class type a functional approach gets more loss than gain. What do you think?

    • I too wonder if functional languages really offer anything concrete to the wider developer audience. My experience with Haskell was that it was really hard work. I get the principle and the idea of trying to do everything with no or controlled side effects is intriguing but I’m not sure we’re at a stage where it’s practical. I do love XSLT though which is in actuality pretty much a functional language, but itis in a domain where it makes sense.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: