diaries

Turing award lecture — an analogy with physics

Dated: 

early 1972

Dijkstra contributed greatly to introducing hierarchical systems into computing. Already in his very first report of 1953 as employee of the Mathematical Centre in Amsterdam, Dijkstra introduced what he would later call separate levels of concern [1]. In 1959–60, he acquired fame after reformulating the problem of ALGOL translation as an hierarchical problem. His intermediate machine-independent stack-based language was, in hindsight, a precursor to the now widely used virtual machine; see chapter 3 in my book The Dawn of Software Engineering [2].

Tags: 

A letter about APL

Dated: 

Tuesday 12 January 1982

On Tuesday 12 January 1982, Dijkstra wrote a letter to Dr. A. Caplin explaining why he had his reservations about the language APL (A Programming Language). Dijkstra did this in response to an earlier letter that he had received from Caplin, a letter in which Caplin asked whether Dijkstra favored APL and, if not, why not. In Caplin's words:

Tags: 

Running away from a problem

Dated: 

late 1971 -- early 1972

Some former colleagues of Dijkstra have stressed in interviews with me that Dijkstra was not an engineer (in accordance with their definition of the term). By discussing Dijkstra's characteristic top-down design perspective in my previous post, I have already given one reason why Dijkstra was perceived as a non-engineer. Below I present another reason. While doing so we will again encounter the dichotomy between performance and generality, a dichotomy which Dijkstra seems to have stressed throughout his whole career.

Tags: 

Exploiting Symmetry

Dated: 

November 1981

In 1963 Dijkstra explained why he wanted to avoid using case distinctions in the design of a programming language. 18 years later, Dijkstra explained why case distinctions are preferably also avoided when reasoning mathematically.

Tags: 

Dijkstra's Elegance vs. Naur's Pluralism

Dated: 

November 1981

During the early 1960s, Dijkstra and Naur were much in sync with each other's research aspirations. They were, after all, both involved in implementing and promoting the ALGOL60 programming language. Dijkstra's 1970 `Notes on Structured Programming' was a pivotal point in their relationship, as described in my interview with Naur. From that point onwards, their research agendas diverged.

Tags: 

From Turing to Dijkstra, Part II

Dated: 

August 1971

In a previous post I scrutinized Moshe Y. Vardi's account of Church and Turing. During the past months I refined that post and added it to the first chapter of my recent book The Dawn of Software Engineering: from Turing to Dijkstra. I now present a summary of my book and briefly explain how Turing's work influenced Dijkstra's thinking. The book has just appeared in print.

Summary

Tags: 

An analogy between computer programs and mathematical proofs

Dated: 

November 1981

In 1961, Dijkstra made an analogy between mathematical proofs and computer programs. After noting the analogy, he took aspects from the field of mathematics and projected them onto his own profession of programming.

Twenty years later, Dijkstra still stood by the analogy. This time, however, he projected the lessons he had learned from programming methodology back onto mathematics. Dijkstra was thus, in 1981, keen on defining a mathematical methodology. In Dijkstra's words:

Tags: 

Trip to Amsterdam, October 1981

Dated: 

26-29 October 1981

Dijkstra attended the four-day “International Symposium on Algorithmic Languages” in honor of Aad van Wijngaarden who was retiring as director of Amsterdam's `Mathematical Centre'. The symposium was held from Monday 26 October until Thursday 29 October 1981. Ershov and Turski also attended after having spent the weekend with Dijkstra at his home in Nuenen.

Tags: 

Pages