[Haskell-cafe] Is Haskell a 5GL?
nicolas.frisby at gmail.com
Fri Sep 29 16:15:39 EDT 2006
> Call me elitist if you want, but I don't want anyone who refuses or
> is unable to learn calculus to be, eg, a civil engineer. He don't
> have to be an expert in real analysis, but if he don't understand the
> basics, I don't want him building any bridges that I'm going to be
> driving on!
Excellent point that certainly does not make one an elitist. Many
engineering disciplines such as civil, chemical, architectural,
aerospace, etc. enjoy a mature relationship between their best design
practices and mathematics/hard science. Also note that a bad bridge
almost certainly endangers multiple peoples' lives (consider the
history behind http://www.ironring.ca/).
> In a similar way, if a someone refuses or is unable to learn the
> mathematical foundations of computation, I don't think I really want
> him programming any systems that I'm going to be relying on. He
> don't need to be an expert in category theory, but if programmers
> aren't learning the skills they need to understand the basics and
> mathematical notation of PL theory, then something is very, very
> wrong. (Not to beat you over the head with my point, but what I'm
> saying is that programmers really ought to know this stuff and the
> fact that most do not is a terrible state of affairs).
I hope to someday agree with this, but for now I cannot. The fact of
the matter is it's a rare case when a programmer's lack of
mathematical background threatens lives. If my GUI crashes, I'm angry
but not injured. Programmers make a living without the math background
because the vast majority of employers don't seek it--their products
simply don't need it.
Note that I said "rare case"; I think there are plenty of safety
critical programs out there. Consider the shuttle, deep-sea equipment,
military or medical equipment, etc. Now if the programmer you're
worred about is on one of these projects, I most certainly share your
Software engineering is as of yet misnamed. A professional engineer's
design work should never include figuring out why the first attempt
exploded/collapsed/failed--professionals in mature engineering fields
only debug catastrophes.
My intended takeaway is that design in software engineering does not
yet compare to design in the mature engineering fields. In my
engineering-centric opinion, the goal of computer science is to enrich
the design principles of software engineering so that it does compare.
[Disclaimer regarding that paragraph's punch-line: there's obvious
gradations between engineering fields, as well as gradations within a
field between researchers progressing the best practices and
professionals simply using best practices.]
> > If a responsible scientist wanted to counter this cynical,
> > mean-spirited, and generally Luddite and Philistine argument, what
> > would he or she say?"
> Rob Dockins
> Speak softly and drive a Sherman tank.
> Laugh hard; it's a long way to the bank.
> -- TMBG
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe