
IMO, what attracts a big part of kids to programming is the possibility to program side effects. It seems to me that Haskell takes a big care to "seal off" the side effects and does it in a nontrivial way. This may complicate introduction to programming. Telling the kids to "just use the IO monad and don't worry want a 'monad' is, it is just a magic word, it comes from Category Theory, don't try to understand, just follow me" might not be a good way to teach. I've seen assembly language mentioned here, and what attracted me to it, when i was a kid, was the possibility to program "side effects" explicitly. Even if i could not observe those side effects, like change of a register value, directly, they could be tested indirectly. Alexey. On Saturday, August 29, 2015 at 8:10:58 AM UTC+2, Donn Cave wrote:
quoth M Farkas-Dyck
javascript:> ... I see much praise of Python, while Haskell mostly performs better, is less verbose, and catches type errors. Worse yet, I see counsel to learn it as a first language.
Sure - "Programming for Everybody" is practically a Python trademark!
It is kind of embarrassing when Haskell enthusiasts see Python as a better language for beginners. But in either case I think we'd expect only a fairly superficial treatment of the language, right? I mean, for example, back in the day, one of my colleagues picked up Python for random minor utilitarian purposes, and when I talked to him he hadn't used classes for anything, so for him it was only incidentally OOP inasmuch as some of the built in functions were addressed as object member functions. A beginning student doesn't need to learn OOP in any kind of depth. He or she would need to learn about the IO monad, but maybe not monads in general. I suppose that might somewhat limit one's potential appreciation of Haskell's beauty, if we're still talking about that.
Donn _______________________________________________ Haskell-Cafe mailing list Haskel...@haskell.org javascript: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe