[Haskell-cafe] Comments from OCaml Hacker Brian Hurt

Jonathan Cast jonathanccast at fastmail.fm
Thu Jan 15 23:18:50 EST 2009


On Thu, 2009-01-15 at 17:06 -0500, Steve Schafer wrote:
> On Thu, 15 Jan 2009 13:21:57 -0800, you 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?
> 
> Umm, all of them?

Really.  So the engineer who designed the apartment building I'm in at
the moment didn't know any physics, thought `tensor' was a scary math
term irrelevant to practical, real-world engineering, and will only read
books on engineering that replace the other scary technical term
`vector' with point-direction-value-thingy?  I think I'm going to sleep
under the stars tonight...

> >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?
> 
> Do you know any actual working structural or chemical engineers?

Um, no.  I try to avoid people as much as possible; computers at least
make sense.  Also anything else to do with the real world :)

> Most
> engineering disciplines require a basic grasp of the underlying theory,
> yes, but not much beyond that.

Perhaps I should have said `completely ignorant'?  Or do you think that

  join . join = join . fmap join

is of the same level of theoretical depth as quantum orbital mechanics?

> Pretty much everything else is covered by
> rules (either rules of thumb or published standards).

> Show me an electrical engineer who can explain the physics of a pn
> junction and how it acts as a rectifier, or a civil engineer who can
> explain why the stress/strain curve of a steel beam has the shape that
> it does,

Again, do engineers know *what* stress is?  Do they understand terms
like `tensor'?  Those things are the rough equivalents of terms like
`monoid'.

jcc





More information about the Haskell-Cafe mailing list