diaries

Physics and reasoning by analogy

Dated: 

June 1972

Dahl, Dijkstra, and Hoare's book "Structured Programming" was published in June 1972. Dijkstra wrote the first chapter, `Notes on Structured Programming', in which he introduced several new ideas. One of Dijkstra's main points was that mathematical techniques for small demonstration programs do not necessarily work for programs a thousand times larger.

Tags: 

Three Snapshots of Dijkstra's Career

“I still remember it well, the day my future husband entered my life”, Ria Debets-Dijkstra recalls. “He was a good-looking man, 20 years of age. He entered our Computing Department with a cane!” [1]. The Computing Department was part of the newly founded Mathematical Centre in Amsterdam. Ria Debets-Dijkstra had already been working there for two years before she saw Edsger Dijkstra on that eventful day in 1951. Dijkstra officially joined the Computing Department in March of the following year.

Tags: 

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: 

Pages