[Haskell-cafe] On the verge of ... giving up! [OT]
Emre Sahin
iesahin at bilkent.edu.tr
Sun Oct 14 19:29:32 EDT 2007
>>>>> "jerzy" == jerzy karczmarczuk <jerzy.karczmarczuk at info.unicaen.fr> writes:
[...]
jerzy> But, when J. Vimal "threateneds us" to throw away Haskell,
jerzy> complained about monads, and most people confirmed that the
jerzy> underlying theory is difficult, ugly, and useless, I began
jerzy> to read those postings with attention, since I disagree
jerzy> with spreading such atmosphere. And A.C. additionally wrote
jerzy> that all this theory has nothing to do with Haskell, and
jerzy> submitted three more postings, one more dubious than the
jerzy> other, I found that a warning seems suitable, not for him,
jerzy> but for his readers!
I'm an (almost) complete newbie to FP and for a beginner I don't see some
"right" in myself to criticize "theory" being hard. I'm a CS guy
without any background in Category Theory and related ideas, but when
I see something elegant, I think I recognize it, and monads seem to be
much elegant way of doing things than "usual" I/O. (And because of
this elegance I couldn't persuade myself to learn OCam'l etc. first)
Currently I can't say I understand monads, but as Von Neumann put it,
"Young man, in mathematics you don't understand things. You just get
used to them." ;)
jerzy> Mathematics is beautiful and useful. The commutativity of
jerzy> some categorical diagrams can be translated into the
jerzy> optimization of Haskell constructs, say, showing that there
jerzy> is a canonical isomorphism between
jerzy> (map f) . (map g) and: map (f . g)
jerzy> etc. So, why dump the theory away, which suggests
jerzy> additionally that the conceptors of Haskell are
jerzy> irresponsible dreamers, living on some crystal
jerzy> mountain?... The language is not trivial to learn, that's
jerzy> it. If somebody feels discouraged, my own students often
jerzy> are, then the recipe is simple: ask CONCRETE questions, get
jerzy> CONCRETE answer. THEN generalize.
I asked Paul Hudak a few days ago about an exercise in his Haskell SOE
book and I got more than I expected. (Prior to that, I asked in
#haskell and also got more than I expected, though not understood all
of them ;))
jerzy> But if some people offer general answers, they must be
jerzy> based on a real competence and experience, otherwise they
jerzy> easily become harmful.
Being friendly is one thing, but being sensitive about the information
is much more valuable IMO. I thank you for deciding to post this "disclaimer"
instead of overlooking, which is perhaps the easier way.
jerzy> ==============
jerzy> "David48" points out that if a list returns the reader to
jerzy> the docs which he has already seen, and which is poor, then
jerzy> it doesn't work at all. OK, then, once more, don't say "I
jerzy> cannot understand monads", or rewriting, or whatever, but
jerzy> say plainly: "I read XYZ in the ABC tutorial, and the
jerzy> example PQR remains too difficult." And say WHAT doesn't
jerzy> work.
jerzy> Go ahead, criticize *concrete* documentation, don't say
jerzy> that docs are lousy! Almost all Haskell documentation has
jerzy> been written by people who *beg* constantly for comments,
jerzy> for criticism; let's help them instead of shouting at them.
jerzy> Of course, the repeated, ever and ever again questions mean
jerzy> that one day it will be absolutely necessary to make a true
jerzy> FABQ, proposed a few times, and still in statu nascendi...
I'm 27 years old and somehow programming for ~12 years in almost all
major imperative languages. (I have some Scheme & Lisp experience
also.) As another poster mentioned, this language gave me long
forgotten excitement of programming again. Though I feel myself too
lazy to cope with problems (and obstacles in learning and changing
mindset) sometimes, and I usually don't understand topics in this
mailing list most of the time, I don't attribute these to difficulty
of the language. This is my laziness, not Haskell's.
If I would like to program in "more understandable" ways, I know there
are lots and lots of other languages that I can use, but trying to
come up with a solution and seeing how succint it can be amazes me in
this language and I don't know if I can be a successful Haskell
programmer (and write those haikus you write here and there), but at
least I'll try to be and if I can't, this will be my laziness, not
Haskell's.
Thanks and best regards,
E.
More information about the Haskell-Cafe
mailing list