What to expect

Early programs were hard-coded with wires and switches, or programmed in binary.

The development of programming languages is the story of this chapter, including Grace Hopper’s “FLOW-MATIC” and “COBOL”, structured programming and the “GOTO heresy”, object-oriented code and a look at functional languages.

A quick preview of the chapter follows, this is my explanation of the different programming paradigms.

In the imperative paradigm, we write commands for the computer to perform, like imperative mood in English, where “come here” gives an instruction.
The focus is on control flow and programs consist of sequence, selection and iteration.
FORTRAN, ALGOL, Pascal, C++, Python and JavaScript are all imperative languages. A program in the declarative paradigm describes only the logic behind the computation, through functions or logic statements. Declarative languages come in several subtypes including the logical programming language Prolog, and functional languages  LISP, Scala and Haskell


References from this chapter…

[81] TX-0 instruction set is here

[82] Dijkstra, CACM, March 1968.

[83] Knuth, “Structured programming with go to statements” 1979.

[84] Compilation stages on Isaac Computer Science

[85] See Isaac Computer Science for a tutorial on OOP.

[86] Haskell in Industry at the Haskell wiki:

[87] “Why use Haskell” at the Haskell wiki:

[88] Paul Dubois quote from here

[89] App Lab at

[90] JavaScript tutorial