[Haskell-cafe] On the verge of ... giving up!
Andrew Coppin
andrewcoppin at btinternet.com
Sun Oct 14 07:32:29 EDT 2007
Vimal wrote:
> I like learning by
> comparison with other similar languages. This approach worked for me
> when I tried learning Python+Perl together. The nicer syntax and
> easier object-orientedness made me leave Perl behind and pursue
> Python.
> I also tried it for Haskell (Lisp+OCaml+Haskell together).
>
This probably works quite well for mainstream programming languages
(since they're all so similar), but is unlikely to work at all for
Haskell (since, as far as I know, no other programming language on Earth
is remotely like it - Miranda excluded). Even Lisp and Erland are
nothing like Haskell, and they're supposedly based on the same ideas.
> The next step I usually take in learning a language is, not to go by
> the topics found in textbooks, but by taking real world examples and
> then blindly try to solve it using that language as a tool.
Not a bad way to learn to use a tool. You might want to stick to things
that involve simple I/O and complex processing rather than the other way
round though. ;-) (For example, I wrote a program that renders an
animation of the solutions of a simple differential equation by
numerical integration. The math is complex; the I/O just involves
dumping millions of numbers into a big text file.)
> I didnt want to repeat that mistake, so I made sure I would learn IO
> in Haskell, which initially turned out to be a disaster, due to the
> 'Moands' which sounded like 'Go Mads' to me.
>
For the longest time I couldn't remember whether it's "monad" or
"monand"... but anyway, yeah, it's a common problem. It's not actually
complicated ones you understand it; it's just that it's so abstract that
it's hard to explain. It's a bit like trying to explain to somebody what
a "magnet" is... it's not a complex concept, just hard to describe.
> Then, I set out to learn Monads + Category Theory from a Math
> perspective.
Um... yeah, that probably won't work.
As far as I know, Haskell's idea of "monad" has little to do with the
theoretical concept.
> Meanwhile, could anyone suggest if there was anything wrong in my
> approach to learning Haskell/the other languages? I agree that the
> learning methodology is something personal and I have to find out what
> best suits me, but I would like to hear something from you,
> Haskellers, too.
>
I'm a maths nerd. To me, Haskell looks like an advanced term-rewrite
system similar to Mathematica. It was quite easy to learn the basics.
What took longer was learning to approach problems in the right way. The
way you'd do things in an object oriented language is usually NOT the
way you'd do it in Haskell. (Unless you enjoy making your life hard...)
Unfortunately, that's all practice.
More information about the Haskell-Cafe
mailing list