
I disagree. It was easy enough for me. OK, I do have some Category Theory background and it certainly helps a lot. Still, I think that for a beginner (without any experience with C or anything like that) Haskell would be relatively easy. It doesn't involve (at least at the start) an ugly notion of assignment. Michael Vanier wrote:
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@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.
Charles,
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.
Mike
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe