[Haskell-cafe] Comments from OCaml Hacker Brian Hurt
jonathanccast at fastmail.fm
Thu Jan 15 17:03:39 EST 2009
On Thu, 2009-01-15 at 21:29 +0000, Andrew Coppin wrote:
> Jonathan Cast wrote:
> > Where, in the history of western civilization, has there ever been an
> > engineering discipline whose adherents were permitted to remain ignorant
> > of the basic mathematical terminology and methodology that their
> > enterprise is founded on? Why should software engineering be the lone
> > exception?
> > No one may be a structural engineer, and remain ignorant of physics. No
> > one may be a chemical engineer, and remain ignorant of chemistry. Why
> > on earth should any one be permitted to be a software engineer, and
> > remain ignorant of computing science?
> Indeed. Because abstract alebra is highly relevant to computer
> programming. Oh, wait...
Beg pardon? That was an argument? I'm sorry, but I can't infer your
> Many people complain that too many "database experts" don't know the
> first thing about basic normalisation rules, SQL injection attacks, why
> you shouldn't use cursors, and so forth. But almost nobody complains
> that database experts don't know set theory or relational alebra.
I didn't know this. I intend to start. But, in any case, you picked
your counter-example *from within software engineering*, at least as
broadly understood. My claim is that the computer industry as a whole
is *sick*, that we are simply going about this enterprise of dealing
with these (memory-limited) universal Turing machines (= implementations
of lambda calculus = universal recursive functions) *wrong*. More cases
of this, within the computer industry, re-enforces my claim, rather than
> Don't get me wrong, there are mathematical concepts that are relevant to
You mean like monads?
> and we should encourage people to learn about them. But you
> really *should not* need to do an undergraduate course in mathematical
> theory just to work out how to concat two lists.
Look, if you want (++), you know where to find it. Or are you
complaining that you shouldn't have to study mathematics to understand
what (++) and, say, the choice operation on events, have in common?
More information about the Haskell-Cafe