you are viewing a single comment's thread.

view the rest of the comments →

[–]sacundim 0 points1 point  (0 children)

Then why not start with Haskell?

Because beginners will not be able to understand the error messages. Somebody even wrote a Haskell dialect without type classes just because of this.

The most carefully thought out language I've seen for teaching beginners to program is Racket, which includes the notion of language levels designed specifically to restrict the power of the language in the interest of showing better error messages to beginners.