November 2017
Intermediate to advanced
670 pages
17h 35m
English
In the 1930s, two very different approaches to solve computing problems emerged . The first school of thought rallied behind Alonzo Church. (Church developed Lambda calculus around 1929.) Church said that design should be top-down rather than bottom-up. He said we should start by treating all computation as the evaluation of mathematical functions and then remove abstractions to move toward the machine-level operations.
The ability to control complexity via composition was arguably the main concern (definitely not performance). Languages that sprang from this line of thinking include ML, Lisp, SmallTalk, Erlang, Clojure and Haskell.
The other computing solution came from Alan Turing (a former student of Church, ...