Letter from Wirth to Dijkstra


19 March 1971

Wirth and Dijkstra were close colleagues, thoroughly studying each other's writings in 1971. But how close, exactly, were they? How did Wirth's views differ from those of Dijkstra? In my first attempt to address these matters, I shall discuss a letter Wirth sent to Dijkstra in March 1971.

Dijkstra possessed three copies of Niklaus Wirth's booklet The Programming Language Pascal. The booklets were published by Wirth's institute, ETH Zurich, in November 1970. One of the booklets contains a separate two-page letter from Wirth to Dijkstra, dated 19 March 1971. In that letter, Wirth, on the one hand, expressed his desire to receive more copies of Dijkstra's work; in particular:

  • two more copies of Dijkstra's Notes on Structured Programming ,
  • two more copies of EWD287 (which is presumably a draft version of his later "A short introduction in the art of programming"), and
  • another spare copy of Dijkstra's monograph on Cooperating Sequential Processes because Wirth's copy looked "horribly torn after having gone through so many hands".

On the other hand, Wirth also wrote that he would send five additional copies of the aforementioned booklet on Pascal, as requested by Dijkstra. In short: it is clear that Wirth and Dijkstra were close colleagues, thoroughly studying each other's writings.

But how close, exactly, were Wirth and Dijkstra ? Does Wirth's letter reveal some of their (potential) differences? With these questions in mind, the following two observations are in order. First, based on the misprint "Algol 69" by Dijkstra in a previous letter to Wirth, the Swiss wondered whether Dijkstra had switched over from Algol 60 to Van Wijngaarden's Algol 68, i.e. whether he had "switched over to the progressive side". The history of Algol 68 and the relationship between Dijkstra and Van Wijngaarden have yet to be told, but Wirth's inquiry about Dijkstra's stance shows that he was not as close to Dijkstra as one might initially expect (because -with hindsight- Dijkstra would never have switched over to Algol 68!). Second, in a previous letter to Wirth, Dijkstra had also remarked about giving a programming course in an unimplemented language to his students in Eindhoven. Wirth's exact response is noteworthy:

Your remark about giving a programming course in an unimplemented language doesn't surprise me. It is quite brave and I understand your point; however, I cannot quite get over the feeling that you try to make a necessity a virtue.

So, clearly, there was some distance between Wirth and Dijkstra too.

Nevertheless, Wirth had a lot of respect for Dijkstra. In another letter to him, dated 5 April 1971, Wirth sent a Pascal program which solved the problem Dijkstra had posed in EWD287-57. Accompanying the program, Wirth explicitly asked Dijkstra for his approval:

Does [my program] appeal to your taste? I omit all comments, on purpose. Is the Pascal notation perspicuous enough to follow my reasoning inspite [sic] of the absence of comments?