Thanks Doug for reminding me of points that I had forgotten (and which are new)
I will insert them into the blog
My comments inline

On Sun, Dec 9, 2012 at 10:01 PM, Doug McIlroy <doug@cs.dartmouth.edu> wrote:
> 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.

Never thought of that  -- nice!
 
Pattern matching--native to string processing (e.g. COMIT, SNOBOL).

Snobol -- yes, comit Ive heard of but dont know

  Appeared nearly in its present form in COGENT (1965).

Hmm google gives me different cogents/  I guess you are referring to the Reynolds one?

Booleans as first class*--surely this is a joke. Algol 60 had them.

Not sure what you are saying (unless its about the footnote that Boole treated bools as ints! This is new to me)  I was referring to the fact that C programmers have great difficulty thinking of bools as first class for similar reasons to why lists as first class is hard. [And python programmers also for that matter, whose language does not have a proper first class bool type]
 
  Matlab exploits them heavily (though represented as doubles).

Not sure what you are referring to

Data orientation--COBOL fostered this outlook; see Michael Jackson.

Interesting! I wonder though whether you and I use 'data-orientation' in the same way?
See below.
 
  As long as Lisp ruled, FP lagged on data types.

A tendentious point: A lisper would say that since Lisp from the beginning had a universal data-type, it need never bother to restrict types. [Note I recollect first hearing the term data orientation from SICP]
 

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.

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



--
http://www.the-magus.in
http://blog.languager.org