Dijkstra's "Computer Scientist" in 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:

“Science of Computer Programming” [should help end] the current sate of affairs in which managers see programming primarily as a management problem because they cannot manage it, in which electronic engineers don't see the problem and in which mathematicians ignore it. [EWD777, p.1, my emphasis]

In my previous post, I showed that Dijkstra used the words “software engineer” to describe himself in 1972. By the early 1980s, however, he had started to call himself a “computer scientist” (i.e. a “mathematische informaticus”). He described “computer science” as

The study of information processing by means of algorithms in which one abstracts from specific application domains and specific implementation techniques. [Paraphrased translation from my archives: Lectori Salutem!,  4 Dec. 1981]

Dijkstra stressed that “computer science” encompassed “theoretical computer science”. The latter term referred to the logical foundations of computer science and did not include his own research. To highlight the mathematical nature of “computer-science” research, Dijkstra quoted Ralston & Shaw as follows:

[W]here mathematical reasoning plays little or no role in an area of computer science, that portion of our discipline is still in its infancy and needs the support of mathematical thinking if it is to mature. [see p. 69 in Ralston & Shaw's 1980 article: Curriculum '78 - Is Computer Science Really that Unmathematical?  CACM 23(2): 67-70.]

“Computer science”, Dijkstra wrote, will evolve and become a mature branch of mathematics. To contribute to this evolution, computer scientists should promote and use formal methods, and extract from the many computer applications those fundamental problems that can be studied in relative isolation.

[Paraphrased translation from Lectori Salutem!]