diaries

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: 

Book Reviews and Presentations

Dated: 
November 2012

Last year, I published my interview with Peter Naur in the booklet Pluralism in Software Engineering: Turing Award Winner Peter Naur Explains (Lonely Scholar, 2011). In the meantime, the following two reviews have come out:

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: 

Step-Wise Composition: Generality Prevails

Dated: 
June 1972

In his 1972 `Notes on Structured Programming' [1, Chapter 1], Dijkstra introduced a methodology called step-wise program composition. He explained how to compose a program in minute steps, deciding each time as little as possible so that the correctness of each step is obvious.

Tags: 

Mathematics and reasoning by analogy

Dated: 
June 1972

Although he was a theoretical physicist by education, Dijkstra had been exposed to his mother's mathematical thinking during most of his teens. This observation helps explain why he continued to seek general mathematical arguments in his 1972 `Notes on Structured Programming'.

Tags: 

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.

Unifying Seemingly Disparate Sorting Algorithms

Dated: 
18 January 1982

In their joint report `An introductory essay on three algorithms for sorting in situ', Van Gasteren and Dijkstra explain what Insertion Sort, Heap Sort, and Smooth Sort have in common and how one can derive one sorting algorithm from the other.

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: 

Pages

 
© 2011–today by the respective authors. All rights reserved.