My diary on what Dijkstra did in the 1970s.

Turing Machine as Boundary Object

Here's an abstract, entitled: The Turing Machine as a Boundary Object: Sorting Out American Science and European Engineering, co-authored by Erhard Schüttpelz, featuring Marvin Minsky and Edsger Dijkstra in the late 1960s and early 1970s. To be presented this summer in London at the 11th British Wittgenstein Society Conference: Wittgenstein and AI

Update 2022-August-1:

Ensmenger & Flowcharts


8 July 2017

One of the questions that keeps me awake (during the day) is the following one:

What did a “computer program” mean to Actor X in 1973?

For example, both Christopher Strachey and Edsger Dijkstra viewed a “computer program” as a mathematical object, albeit of a very different kind [1]. (A decade or more earlier, both men did not associate computer programs with mathematical objects pur sang). But what about large parts of the North American computer industry in 1973? How did actors in this field view a “computer program” in 1973?


Machine Oriented Higher Level Languages


August 1973

Something significant happened during the 1950s in the history of science & technology. By 1950, logicians and linguists had been studying “artificial languages” and “natural languages” for centuries. But, the words “programming language” were not used at all. By 1959, however, those words had become common currency. And, in today's digital world, the absence of “programming languages” is totally unthinkable.


Geneva Talk



[Here are the contents of some visuals from Dijkstra's presentation in Geneva, 1973. Source: my archives, Box 11]

Our programs serve to instruct our machines.
-->   A “mismatch” is blamed on the program.

Our machines serve to execute our programs.
-->   A “mismatch” is blamed on the machine.


Things Dijkstra would like to do


18 January 1973

[The following words, written by Dijkstra in January 1973, are from Box 9 in my archive.]

Things I would like to do (they are not all unrelated).

1) write a book on the art of programming.

2) find a good notation for doing justice to representational abstraction.

3) investigate axiomatic definition of semantics with the aim of


Dijkstra's "Software Engineer" in 1972


October 1972

John C. Reynolds wrote to me:

As Dijkstra was fond of pointing out, the community of people who call themselves “software engineers” is marred nowadays by an abundance of second rate work — so much so that others have come to disdain the term and call themselves “computer scientists”. But in the 60’s and 70’s, people such as Hoare, Wirth, and Dijkstra proudly and properly called themselves software engineers, and managed to be simultaneously rigorous and useful.


Step-Wise Composition: Confusing Terminology?


June 1972

To clarify his step-wise program composition, Dijkstra used terms like “program layers” and “levels of abstraction” in his `Notes on Structured Programming' [1, Chapter 1]. These terms were not well defined as Dijkstra conceded later. As a result, Dijkstra's exposition — although extremely rich in content — was difficult to understand completely. See e.g. Denning's clarifying article on Structured Programming [3] or my interview with Liskov who mentions Parnas in this regard [2].



Subscribe to RSS - diary70s