
Alex Queiroz wrote:
On 7/16/07, Malcolm Wallace
wrote: OK, so I'm not genuinely suggesting that you must possess or be studying for a PhD, to grok Haskell. But I find nothing alarming about the suggestion that one needs a fairly high level of intelligence, and some training, in order to be able to use Haskell effectively.
What I'm saying is that almost every topic in Haskell Café evolves into a very high level discussion that may frighten some beginners, as it seems that without a PhD in programming languages and category theory, the language is not for you.
read . takeWhile (not . frightening) ;) Personally, I perceive Haskell as being easier than every other programming language. In other words, if Haskell requires a PhD, Visual Basic requires a Nobel Prize. How the heck do imperative programmers produce working code and how are they able to read the resulting mess afterwards? I just don't get it :) To be serious, those frightening things are often very simple concepts but will remain frightening if not explained well. My experience is that wikis, blog posts and online tutorials can't replace a textbook-quality, well, textbook. Unless the online materials are textbook-quality as well, of course. Really, the best way to learn Haskell (and most other things) is to read/buy/borrow a textbook. This also applies to the mailing list and the "cache of answers" for optimization volume. One example is the "hGetContents - hClose" question. I think that most people encountering this problem won't realize on the first try that hGetContents is the culprit. But how to formulate a good search query then? In the end, I think that the best way to avoid trouble with hGetContents is to be introduced to it in a textbook chapter "IO and Files". Regards, apfelmus PS: hGetContents-hClose is particularly strange since you need operational semantics of lazy evaluation to understand it.