[Haskell-cafe] education or experience?

Doug McIlroy doug at cs.dartmouth.edu
Sun Dec 9 17:31:51 CET 2012


> Yes... CS academics delivers less than it could/should;
> and whatever this delivery is, its asymptotically sub-linear.
> Some of it is to do with the not-quick-enough takeup of FP in academia,
> though there are obviously many other factors as well.

> http://blog.languager.org/2011/02/cs-education-is-fat-and-weak-1.html
> and sequel is about this: how we are not getting over the quirks of the
> past history of CS in present day teaching. Here too suggestions for
> modifications/ change of emphasis are appreciated.

Rusi's cogent blog post includes a list of techniques/concepts that
the "unconverted" could profitably pick up from the FP community.
In fact the FP community came late to some of these, just as 
programming languages at large came late to garbage collection.

Lazy evaluation--at the heart of spreadsheets since the beginning.
Pattern matching--native to string processing (e.g. COMIT, SNOBOL).
  Appeared nearly in its present form in COGENT (1965).
Booleans as first class*--surely this is a joke. Algol 60 had them.
  Matlab exploits them heavily (though represented as doubles).
Data orientation--COBOL fostered this outlook; see Michael Jackson.
  As long as Lisp ruled, FP lagged on data types.

FP also deserves credit for infinite data structures (though the special
case of stream processing dates way back).

Doug McIlroy

* It's amusing to note that "real" Booleans--the ones that Boole 
used--were integers. For Boole, or(a,b) = a + b - a*b.



More information about the Haskell-Cafe mailing list