[Haskell-cafe] RE: Haskell as a first language?

Michael Vanier mvanier42 at gmail.com
Tue Jul 14 06:01:44 EDT 2009

Simon Peyton-Jones wrote:
> Haskell is a great language!  Check out haskell.org.   I'm ccing the Haskell Cafe which is read by many people better qualified to answer your question than me.   (Since I've been working on Haskell for many years, I am not well qualified to say how it seems to a beginner.)
> S
> | -----Original Message-----
> | From: Charles Turner [mailto:charlie.h.turner at googlemail.com]
> | Sent: 11 July 2009 22:52
> | To: Simon Peyton-Jones
> | Subject: Haskell as a first language?
> | 
> | I'll make this short! Do you think Haskell is a good language to start
> | with? I am brand new to programming and have been using Scheme, some of
> | my peers suggest I should use Haskell. It seems "professional" to me.
> | Has features that a beginner should not worry about. What would you
> | suggest. (I'm not worried about bias)
> | 
> | Thank you very much for your time.
> | 
> | Charles Turner.

Haskell is a wonderful language (my favorite language by far) but it is 
pretty difficult for a beginner.  In fact, it is pretty difficult for 
anyone to learn in my experience, because it has so many advanced 
concepts that simply don't exist in other languages, and trying to 
absorb them all at once will likely be overwhelming.  My path into 
Haskell was roughly C -> Python -> Scheme -> Ocaml -> Haskell, and I 
think that this has a lot going for it (though for a beginner I would 
recommend Python over Haskell, and Scheme is suitable for beginners with 
the right textbooks, e.g. How To Design Programs and/or Structure and 
Interpretation of Computer Programs).  If you're willing to work really 
hard, and don't mind that it may take you quite a bit longer before you 
are creating real applications in Haskell than it would in e.g. Python, 
you can start with Haskell (check out the book Real World Haskell: 
http://realworldhaskell.org).  But if you get frustrated, feel free to 
shift down the list I gave.  Scheme or Ocaml are good languages to learn 
the basics of functional programming, and then you just have to add on 
the Haskell-specific material (of which there is a lot).  Haskell is 
kind of like a point in the language space that programmers evolve towards.


More information about the Haskell-Cafe mailing list