Edsger Dijkstra on programming as an intellectual discipline (2001)

Edsger Dijkstra, from an an oral history interview with Philip Frana in 2001:

False dreams paralyzed a lot of American computing science.

There are few areas where it pays so well to be sufficiently bright and well trained. … I have had no influence in the teaching of programming as a tough but rewarding intellectual discipline; this view is hardly tolerated.

Edsger W. Dijkstra, OH 330. Oral history interview by Philip L. Frana, 2 August 2001, Austin, Texas. Charles Babbage Institute, University of Minnesota, Minneapolis. http://purl.umn.edu/107247. Pp. 22–23 of PDF.

Edsger Dijkstra on the name of the field Computer Science (2001)

Edsger Dijkstra, from an an oral history interview with Philip Frana in 2001:

In many places, departments of computer science were founded before the shape of the intellectual discipline stood clearly out. … You also find it reflected in the names of scientific societies, such as the Association of Computing Machinery. … It’s the British Computer Society and it was the Dutch who had Het Nederlands Rekenmachine Genootschap; without knowing Dutch, you can hear the word “machine” in that name. And you got the departments of Computer Science, … rather than the department of computing science or the department of computation. Europe was later, it had coined the term Informatics, … Informatique. … Tony Hoare was a Professor of Computation. … At a given moment it — today the English prefer Information Technology, IT and Information Systems IS. I think the timing has forced the American departments to start too early. And they still suffer from it. Here, at UT, you can still observe it: it is the Department of Computer Sciences. … If you start to think about it, you can only laugh, but that time there were at least as many computer sciences as there were professors.

Edsger W. Dijkstra, OH 330. Oral history interview by Philip L. Frana, 2 August 2001, Austin, Texas. Charles Babbage Institute, University of Minnesota, Minneapolis. http://purl.umn.edu/107247. Pp. 23–24 of PDF.

Edsger Dijkstra on anthropomorphizing computers (2001)

Edsger Dijkstra, from an oral history interview with Philip Frana in 2001:

One of the most devious things we do is existing in time and the use of anthropomorphic terminology forces you linguistically to adopt an operational view. And it makes it practically impossible, at least very difficult to argue about programs independently of their possibility of being executed.

Edsger W. Dijkstra, OH 330. Oral history interview by Philip L. Frana, 2 August 2001, Austin, Texas. Charles Babbage Institute, University of Minnesota, Minneapolis. http://purl.umn.edu/107247. P. 16 of PDF.

Edsger Dijkstra on mastery of one’s native tongue as a vital programming skill (2001)

In an oral history interview with Philip Frana in 2001, Edsger Dijkstra talks about the importance of articulateness in natural language:

There is an enormous difference between one who is monolingual and someone who at least knows a second language well, because it makes you much more conscious about the phenomenon of language structure in general. You will discover that certain constructions in one language you just can’t translate. I was once asked what were the most vital assets of a competent programmer, and I said, at the time, a mathematical inclination and an exceptional mastery of his native tongue. I said “mathematical inclination” because at the time it was not clear how mathematics as understood at that moment could contribute to a programming challenge. And I said “native tongue” and not “English” because, well for lack of formalism, you have to think in terms of words and sentences using a language you are familiar with. Moreover, but I didn’t know that at the time, research has shown that when people acquire a second language, they never get a greater mastery of it than they have of their own language, their native tongue: that clearly sets the standard for how articulate you are going to be.

Edsger W. Dijkstra, OH 330. Oral history interview by Philip L. Frana, 2 August 2001, Austin, Texas. Charles Babbage Institute, University of Minnesota, Minneapolis. http://purl.umn.edu/107247. P. 9 of PDF.

Edsger Dijkstra on the origin of his shortest path algorithm (2001)

In an oral history interview with Philip Frana in 2001, Edsger Dijkstra remembers the circumstances of the discovery of his shortest path algorithm:

One morning I was shopping in Amsterdam with my young fiancée, and tired, we sat down on the café terrace to drink a cup of coffee and I was just thinking about whether I could do this, and I then designed the algorithm for the shortest path. As I said, it was a twenty-minute invention. In fact, it was published in ’59, three years late. The publication is still readable, it is, in fact, quite nice. One of the reasons that it is so nice was that I designed it without pencil and paper. I learned later that one of the advantages of designing without pencil and paper is that you are almost forced to avoid all avoidable complexities. Eventually that algorithm became, to my great amazement, one of the cornerstones of my fame.

It was originally published in 1959 in a German article in Numerische Mathematik. F.L. Bauer had founded that journal and he was soliciting for articles. Now, at the time, something like an algorithm for the shortest path, that was hardly considered mathematics: there was a finite number of ways of going from A to B and obviously there is a shortest one, so what’s all the fuss about? So that is why it remained unpublished, but when Bauer asked whether we could contribute something, I said, yes, I could, because in the mean time I had also designed the shortest subspanning tree. I had done that for my hardware friends. You know, on the big panel you have to connect a whole lot of points with the same copper wire because they have to have the same voltage. How do you minimize the amount of copper wire that connects these points? So I wrote an article “A note on two problems in connection with graphs” or something like that. But now, when I went to my ophthalmologist — and to the best of my knowledge he did not even know that I was a computing scientist — he said, ‘Have you designed the algorithm for GPS?” It turned out he had seen the Scientific American of last November [2000].

Edsger W. Dijkstra, OH 330. Oral history interview by Philip L. Frana, 2 August 2001, Austin, Texas. Charles Babbage Institute, University of Minnesota, Minneapolis. http://purl.umn.edu/107247 Pp. 5–6 of PDF.

I recommend the full interview, which touches on many matters of interest in the history of computers and computer science. The site itself contains transcripts of several hundred interviews in this field, conducted between 1973 and (to date) 2009.

Some bons mots from Edsger Dijkstra (1984)

Gone are the days when Niklaus Wirth unmistakably identified himself by his typewriter and you could recognize his writings even when they were held upside down.


Nowadays machines are so fast and stores are so huge that in a very true sense the computations we can evoke defy our imagination. Machine capacities now give us room galore for making a mess of it. Opportunities unlimited for fouling things up! Developing the austere intellectual discipline of keeping things sufficiently simple is in this environment a formidable challenge, both technically and educationally.


Complexity continues to have a morbid attraction. When you give for an academic audience a lecture that is crystal clear from alpha to omega, your audience feels cheated and leaves the lecture hall commenting to each other: “That was rather trivial, wasn’t it?” The sore truth is that complexity sells better. (It is not only the computer industry that has discovered that.) And it is even more diabolical in that we even use the complexity of our own constructs to impress ourselves. I have often been impressed by the cleverness of my own first solutions; invariably the joy of the subsequent discovery how to streamline the argument was tempered by a feeling of regret that my cleverness was unnecessary after all. It is a genuine sacrifice to part from one’s ingenuities, no matter how contorted, Also, many a programmer derives a major part of his professional excitement from not quite understanding what he is doing, from the daring risks he takes and from the struggle to find the bugs he should not have introduced in the first place.


The intrinsic difficulty of the programming task has never been refuted, it has only been denied because admitting it was socially unacceptable. Not surprisingly, research in programming methodology has not flourished in societies unable to admit that the programming problem was serious.


Software engineering … has sought to replace intellectual discipline by management discipline to the extent that it has now accepted as its charter “How to program if you cannot.”


Taken literally, ["user-friendliness"] is like the term “motherhood”: nobody can be against it, so it means nothing. And hence, if the term “user-friendliness” is given a meaning, it must be a terrible euphemism for something else.


It is regrettable that large groups only come to their senses after their day-dreams have turned into nightmares but, this being so, we should occasionally welcome the nightmares.

Edsger W. Dijkstra, “The Threats to Computing Science”, paper delivered at the ACM 1984 South Central Regional Conference, November 16–18, 1984, Austin, Texas. Posted online at http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD898.PDF
Transcription by Michael Lugo at http://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD898.html (but the handscript is better).