
This also made me realize of two things: 0. Haskell will never be mainstream, because there are not a lot of programmers out there who are willing to do the investment required for learning the necessary concepts to understand and write code like the one shown above.
Replace "Haskell" with "Java" in the previous sentence, and you would have an equally truthful statement. :) I spent years getting comfortable with OO languages, and then I spent years getting familiar with Haskell. For someone who only knows Haskell (and I know such a person), I couldn't imagine teaching them Java well enough to write that code!
I speak only from my own narrow perspective. I'd say programming is hard, but functional programming is harder. Maybe that's why Java replaced Haskell in some universities curricula https://chrisdone.com/posts/dijkstra-haskell-java. For some reason most programmers I know are not scared of learning OO, but they fear functional programming. I think the reason might be that OO concepts like inheritance and passing messages between objects are a bit more concrete and easier to grasp (when you present toy examples at least). Then you have design patterns, which have intuitive names and give some very general guidelines that one can try after reading them (and add his/her own personal twist). I doubt people can read the Monad laws and make any sense out of them at the first try. Maybe FP and OO are perceived as equally hard, but that was not my impression so far.
which is customary?) ... import "static" ... "public", "class", "private" ... eager evaluation ... pass-by-reference/whatever ... procedural statements ... these things are all mind-boggling if you don't learn them early.
In short, I don't think the investment required in Haskell is different than any other programming language. As with natural languages, there are no absolute difficulties, only relative ones.
Well, I guess that's subjective (as our two opinions illustrate ;)). It'd be nice to have some empirical evidence of this, but I couldn't find any
Semicolons... Brackets *and* whitespace delineation (which is required, and paper on the subject ...
(This might actually be a useful point to bring up when speaking to non-Haskellers, so perhaps this message isn't as off-topic as I initially assumed.) _______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.