
It does require a mathematical mind, but does not require that you understand the mathematical language. If mathematics are the basis of computation, and programming is an implementation of computation, then in many ways programming languages are a (less powerful) equivalent language to the language of mathematics as applied to computation. I've been professionally programming for many years, and did it as a hobby since I was very young. I'm not going to say that I'm some kind of super programmer or anything, but I have had a decent amount of programming experience in a variety of languages. That said, Haskell vexed and threw me off for a couple years before I finally sat down and tried to "pull aside" the curtain of mathematics terms that were (for me) obscuring how to use Haskell. Once I sat down with a ton of examples and just plodded through a bunch of research papers (it seems like all the "fun" features in Haskell are only described in research papers ;-) ) I saw how what I knew from the other programming languages I knew was doable in Haskell and it increased my understanding, where I can now kind-of maybe understand what those papers are talking about by relating it to how the compiler will implement the code. Of course, now that I get it, Haskell is my favorite compiled language hands-down. It was just a much longer steeper learning curve because I had to learn it and the terms used to describe it simultaneously rather than having a leg up on either from knowing other programming languages. Now, don't get me wrong, I don't think that the goal with a language should necessarily be to attract as many people as possible, but don't you feel bad for those poor sots who don't understand how bad off the mainstream of Java, C++, etc is? ;-) Just my 2 cents as a non-math-learned programmer. -Ross On Dec 16, 2008, at 7:12 AM, Malcolm Wallace wrote:
Andrew Coppin
wrote: To him, apparently, the current logo says "Haskell is all about arcane and obscure mathematical constructs. In fact, we think that complicated mathematics is so good that we stuffed our logo full of it. If you don't like hard math, don't even bother trying to learn this language."
I think he got the right idea (kind of). To him, mathematics is arcane, but to Haskellers it is the fundamental basis of computation. If someone is not prepared to invest in learning the foundations of the subject of Computer Science, then they have no business becoming a programmer. Would you want someone who disdains mathematics to be responsible for designing the physical aerodynamics of aircraft? Then why would you permit them to program the control software that will fly it?
We really must get away from the idea that programming is something any old fool should be able to pick up. Programming correct software is hard, and it requires a mathematical mind.
Regards, Malcolm _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe