Не заметил, чтобы сообщалось:

Вирт выложил свои текстики:
http://www.inf.ethz.ch/personal/wirth/A ... index.html
http://www.inf.ethz.ch/personal/wirth/A ... onARM.html

В частности, забавная страничка
<b>On Programming Styles </b>
http://www.inf.ethz.ch/personal/wirth/A ... Styles.pdf
против локальных процедур/за функциональный стиль:

"... A better option is to allow access to strictly local and to
strictly global objects. The latter are typically state variables and they retain the notion of state.
Apart from them, the recommended style becomes predominantly functional. With the adoption of these rules, also the nesting of procedures (of scopes) essentially becomes irrelevant.

The first system disallowing access to not strictly local objects was the Algol compiler for the Burroughs B-5000 computer in 1964. The reason then, however, was a simplification of the compiler rather than a methodological one. We have introduced the same restriction in the revision of the language Oberon in 2007.

In summary, the new rule of good style is: Avoid nesting of procedures and use global variables sparingly! Of course this is no dogma, and rules allow for justified exceptions."

То-то Темный Джек порадуетца)

Впрочем, я тоже удовлетворен: в лекциях правило избегать локальных процедур было с самого начала.