diaries

`Plato and the Nerd,' Part 2b: Computer Science & Descriptions vs. Software Engineering & Prescriptions

Dated: 

23 September 2017

 

One of Edward A. Lee's main topics in his book, Plato and the Nerd: The Creative Partnership of Humans and Technology (MIT Press, 2017), is the contradistinction between science and descriptions on the one hand and engineering and prescriptions on the other hand. Reading between the lines, Lee is addressing the big question: Is computer science really a science?

Tags: 

Ensmenger & Flowcharts

Dated: 

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?

Tags: 

Teaching History

Dated: 

January 2014

In January 2014 I taught a Master course on the history of computing at the University of Amsterdam together with my colleague Katrin Geske. Nine groups, consisting on average of five students, followed our course for a period of four weeks (from 6 January till 31 January). Most attendees were computer science students and did not have any other academic commitments in January, at least not officially. Our objective was to have each student think, read, and write like a historian of computing by the end of the month.

Tags: 

Machine Oriented Higher Level Languages

Dated: 

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.

Tags: 

Multiprogramming: from Symmetries to Cases

Dated: 

early 1963

Dijkstra tackled the problem of allowing multiple users share the university's X8 computer and its peripheral hardware devices (EWD 51). To solve this problem, Dijkstra first reformulated it in terms of as many symmetries as he could find, thereby obtaining a more general problem description.

Tags: 

Geneva Talk

Dated: 

1973

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

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

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

Tags: 

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: 

Pages