[Haskell-cafe] Why Haskell is beautiful to the novice
alexey.muranov at gmail.com
Sat Aug 29 08:41:52 UTC 2015
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.
On Saturday, August 29, 2015 at 8:10:58 AM UTC+2, Donn Cave wrote:
> > ... 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.
> Haskell-Cafe mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe