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 <stra...@gmail.com>
> ... 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
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe