[Haskell-cafe] New slogan for haskell.org
alistair at abayley.org
Mon Oct 8 16:04:36 EDT 2007
On 08/10/2007, Henning Thielemann <lemming at henning-thielemann.de> wrote:
> You cannot turn any programmer into a disciplined programmer just by
> giving him a well designed language. I you try so, they will not like to
> use that language, will leave that language as soon as possible or they
> try to adapt the language to their style of programming.
Well, I wasn't suggesting you'll create great programmers overnight,
but you might expect that their appreciation of good design might
improve after some Haskell exposure. Also, Haskell simply doesn't
support some of the things that are common causes of errors in the
enterprisey-language world. I recall reading something about one of
the most common causes of errors in novice programs being type errors
(presumably, once they'd got the program to compile i.e. there were no
syntactic errors). And I'm under the (possibly mistaken) impression
that some of the common errors non-novice programmers make are
aliasing bugs, and/or use of global variables. Does anyone have
references to studies confirming (or refuting) this?
> People who are used to weak typing will use a type like
> data Number = Int Int | Float Float | ...
> for numbers, or even String for everything, they will use numbers, where
> enumerations are more appropriate and so on.
I think that the ease with which you can create a new type in Haskell
(and derive useful classes like Enum, Show, etc) makes it more likely
that a programmer will use an appropriate domain-specific type, rather
than just reuse String, Int, or Float.
> In my experience only the other way round works: Let people use C, Perl
> and Python until they find their programs unmaintainable. Then they will
> become interested in style and discipline and programming languages which
> _support_ good style.
Well, yes. Or have them learn Haskell, and *then* C/C#/C++/Java/Perl
etc, and see if the experience for those languages is as good. I like
to think they'll come running back to Haskell's warm bosom.
More information about the Haskell-Cafe