diaries

Things Dijkstra would like to do

Dated: 

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

Tags: 

Program Execution as a Living Tree

Dated: 

early 1963

In the first half of 1963, Dijkstra described the execution of a program as a living “tree” that can grow “branches” and “twigs”. As the tree gets older — that is, as the execution of the program progresses — branches and twigs can fall off the tree, and others can grow in their place. Dijkstra used the metaphor of the living tree to unify three seemingly disparate topics: dynamic memory management, subroutine invocations, and multiprogramming.

Tags: 

Dijkstra's "Computer Scientist" in 1982

Dated: 

1982

During Dijkstra's career at Eindhoven programming had developed from an art to a science. But, by 1982 there was still insufficient official recognition for this development. From Dijkstra's perspective, computer programmers had yet to be taken seriously in the world at large. This observation helps explain why, a year prior, he had warmly welcomed the new journal called Science of Computer Programming. In his words:

Tags: 

Dijkstra's "Software Engineer" in 1972

Dated: 

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.

Tags: 

Disobedient John

Dated: 

early 1962

In early 1962, Edsger W. Dijkstra presented an analogy of a classroom teacher calling upon one of her pupils. By doing so, he conveyed some subtleties of “dynamic memory management” and “concurrent process behavior”.

Tags: 

Step-Wise Composition: Confusing Terminology?

Dated: 

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].

Tags: 

Pages