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 <andrewcop...@btinternet.com> 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

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to