<div dir="ltr">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.<div><br></div><div>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.</div><div><br>Alexey.<div><br>On Saturday, August 29, 2015 at 8:10:58 AM UTC+2, Donn Cave wrote:<blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;">quoth M Farkas-Dyck <<a href="javascript:" target="_blank" gdf-obfuscated-mailto="RIejnBEQBQAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">stra...@gmail.com</a>>
<br>
<br>> ... I see much praise of
<br>> Python, while Haskell mostly performs better, is less verbose, and
<br>> catches type errors. Worse yet, I see counsel to learn it as a first
<br>> language.
<br>
<br>Sure - "Programming for Everybody" is practically a Python trademark!
<br>
<br>It is kind of embarrassing when Haskell enthusiasts see Python as a
<br>better language for beginners.  But in either case I think we'd expect
<br>only a fairly superficial treatment of the language, right?  I mean,
<br>for example, back in the day, one of my colleagues picked up Python
<br>for random minor utilitarian purposes, and when I talked to him he
<br>hadn't used classes for anything, so for him it was only incidentally
<br>OOP inasmuch as some of the built in functions were addressed as object
<br>member functions.  A beginning student doesn't need to learn OOP in
<br>any kind of depth.  He or she would need to learn about the IO monad,
<br>but maybe not monads in general.  I suppose that might somewhat limit
<br>one's potential appreciation of Haskell's beauty, if we're still
<br>talking about that.
<br>
<br>        Donn
<br>______________________________<wbr>_________________
<br>Haskell-Cafe mailing list
<br><a href="javascript:" target="_blank" gdf-obfuscated-mailto="RIejnBEQBQAJ" rel="nofollow" onmousedown="this.href='javascript:';return true;" onclick="this.href='javascript:';return true;">Haskel...@haskell.org</a>
<br><a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" target="_blank" rel="nofollow" onmousedown="this.href='http://www.google.com/url?q\75http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fhaskell-cafe\46sa\75D\46sntz\0751\46usg\75AFQjCNH7sFgl7KfuDcDlaGGG3ip3kRaoIA';return true;" onclick="this.href='http://www.google.com/url?q\75http%3A%2F%2Fmail.haskell.org%2Fcgi-bin%2Fmailman%2Flistinfo%2Fhaskell-cafe\46sa\75D\46sntz\0751\46usg\75AFQjCNH7sFgl7KfuDcDlaGGG3ip3kRaoIA';return true;">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/haskell-<wbr>cafe</a>
<br></blockquote></div></div></div>