[Haskell-cafe] RE: Haskell as a first language?
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.)
> | -----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