When writing CTM I was struck with how many of the good ideas in programming languages were discovered early on. The decade 1964-1974 seems to have been a "Golden Age": most of the good ideas of programming languages appeared then. For example:

Functional programming: Landin's SECD machine (1964)

Object-oriented programming: Dahl and Nygaard's Simula (1966)

Axiomatic semantics: Hoare (1969)

Logic programming: Elcock's Absys (1965), Colmerauer's Prolog (1972)

Backtracking: Floyd (1967)

Capability security: Dennis and Van Horn (1965)

Declarative concurrency: Kahn (1974)

Message-passing concurrency: Hewitt's Actor model (1973)

Shared-state concurrency: Hoare's monitors (1974)

Software engineering: Brooks's mythical man-month (1974)

It is a sobering thought that not much new stuff has come since then. Hindley-Milner type inferencing in 1978, constraint programming in 1980, CCS (precursor of pi-calculus) in 1980. What revolutionary new ideas came since 1980? Most of the work since then seems to have been in consolidation and integration (combining the power of the different ideas). Right?