“This guy’s arrogance takes your breath away”

Letters between John W Backus and Edsger W Dijkstra, 1979

I was in Washington, DC over Memorial Day weekend, consulting the Library of Congress for a paper I’m writing about the early history of programming languages. The LoC houses the John W Backus papers, a collection of 12 boxes. As you may recall, Backus helped invent FORTRAN, ALGOL, Backus-Naur form, and a few other things that computer scientists might be aware of.

The Backus papers are a collection of 211 items. “Papers” are a slight misnomer — one of the items is a book of proceedings papers, and another is a balloon celebrating the 25th anniversary of FORTRAN. The library’s catalogue entry states simply that

This collection is arranged in numerical order according to a system prepared by Backus.

What I was not prepared for was that the cataloguing system also came with Backus’s own running commentary.

Item No. 155 caught my eye as potentially interesting reading. How could I pass up something whose description was

Correspondence with Edsger Dijkstra. 1979
This guy’s arrogance takes your breath away

If Buzzfeed wrote about computer science, they would be hard pressed to come up with a better linkbaity title.

I was not disappointed.

Item No. 155: Correspondence with Edsger Dijkstra. 1979

At the time of this correspondence, Backus had just won the 1977 Turing Award and had chosen to talk about his then-current research on functional programming (FP) for his award lecture in Seattle. See this pdf of the published version, noting that Backus himself described “significant differences” with the talk that was actually given. Indeed, the transcript at the LoC was much more casual and easier to follow.

Part of Backus’s Kodachrome slide deck for his Turing award talk in 1977

Dijkstra, in his characteristically acerbic and hyperbolic style, wrote a scathing public review (EWD 692) and some private critical remarks in what looks like a series of letters with Backus.

From what I can tell, these letters are not part of the E. W. Dijkstra archives at UT Austin, nor are they available online anywhere else. So here they are for posterity.

The correspondence below is dated between March and July 1979, and fits between EWD 692 and EWD 714 in Dijkstra’s manuscripts.

Edit: there has been interest on Hacker News to write up transcripts of these letters. I’ve created a GitHub repository to house the raw images and text transcripts.

Chronology

1977 — Backus wins Turing Award; talks about his then-current work on functional programming in the FP programming language. (Dijkstra had already won his own Turing Award in 1972.)

August 1978 — Paper form of Backus’s Turing Award Lecture published: “Can Programming be Liberated from the von Neumann Style? A Functional Style and its Algebra of Programs”, Communications of the ACM 21(8): 613. doi:10.1145/359576.359579. (pdf)

late 1978?— Dijkstra writes EWD 692, “A review of the 1977 Turing Award Lecture by John Backus”. Dijkstra is highly critical of Backus’s “aggressive overselling” of what he views as incomplete research at a venue as prestigious as the Turing Award Lecture.

March-July 1978 — an incensed Backus writes Dijkstra in private about his “unsubstantiated arrogant opinions”. Not only is Backus upset about EWD 692, but also about EWD 638, a copy of which was filed as part of Item 155. EWD 638 is another highly critical review of a controversial paper, “Social Processes and Proofs of Theorems and Programs” by De Millo, Lipton and Perlis, Communications of the ACM, 22:5, May 1979, doi:10.1145/359104.359106 (pdf) and is discussed in the correspondence below.

after September 1979? — Dijkstra writes EWD 714, “Trip report E.W.Dijkstra, Mission Viejo, Santa Cruz, Austin, 29 July — 8 September 1979”.

Dijkstra to Backus, 1978–05–29

Transcription

to John Backus
International Business Machines Corporation
5600 Cattle Road
SAN JOSE CA 95193
U.S.A

Monday 29th of May, 1978

“To interrupt one’s own researches in order to follow those of another is a scientific pleasure which most experts delegate to their assistants.” (Eric Temple Bell in “Development of Mathematics”)

Dear John,

I do not claim to be more noble or sensible than “most experts”; perhaps it is only because I have only one assistant to whom I can delegate no more than one man can do. But when you open your letter with:

“I am quite sure that you have never read any paper I’ve sent you before”

it is my pleasure to inform you that — although “quite sure” — you were very wrong. I very well remember that you mailed me a sizeable paper on reduction languages to which I owe my introduction to that subject. I didn’t only read it, parts of it were even studied. I also remember that it left me with mixed feelings.

I can very well understand your excitement, although, for lack of experience, I still cannot share it. I am far from delighted with the state of the art of programming today, and anyone suggesting an alternative has in in [sic] principle my sympathy — until, of course, he loses it again, like Terry Winograd did when he suggested natural language programming — “natural descriptions”! — as an alternative-. In the long run I have more faith in any rephrasing of the programming task that makes it more amendable to mathematical treatment. But you must have lots of patience, for the run will be very long. It isn’t just mental inertia — that problem can be solved generally by education a new generation of youngsters and waiting until the old ones have died — . It is the development of a new set of techniques needed to achieve a comparable degree of proficiency.

Could you get me a copy of G.A. Mago’s (not yet published) “A network of microprocessors to execute reduction languages”? That might whet my appetite! From various angles I have looked into such networks and I am not entirely pleased with what I have seen. Firstly I suspect our techniques for proving the correctness of such designs: each next proof seems to differ so much from all the previous ones. I suspect I discovered that all I could design were special purpose networks, which, of course, made me suspect the programming language in the Von Neumann style which, already before you have chosen your problem, seems to have set you on the wrong track.

Semantically speaking the semicolon is, of course, only a way of expressing functional composition: it imposes the same order that can also be expressed with brackets — innermost brackets first -. In combination with the distribution you can generate many innermost bracket pairs, thus expressing very honestly that it is really only a partial order that matters. I like that, it is honest.

When you write “one can transform programs [….] by the use of laws […] which are part of the programming language” etc. I am somewhat hesitant. I am not convinced (yet?) that the traditional separation in fixed program, variable data and assertions is a mistake. The first and the last — program and assertions — are somewhat merged in LUCID, in which correctness proofs are carried out in (nearly) the same formalism as the program is expressed in. On the one hand that presents a tempting unification, on the other hand I thought that mathematicians seperated carefully and for good reasons the language they talk about and the metalanguage in which they do so. To put it in another way: given a functional program, I feel only confident if I can do enough other significant things to it besides carrying it out. And those I don’t see yet. The almost total absence of redundancy is another aspect of the same worry. In the case of a traditional program we know how to make it redundant: by inserting assertions, combination of text and assertions makes it into a logically tightly knit whole, that gives me confidence. How do we this with functional programs? By supplying two of them and an argument that demonstrates their equivalence?

What about the following example? (My notation because I lack the fluency in yours.)

(1) Consider the function f defined by: f(0) = 0, f(1) = 1, f(2n) = f(n), f(2n+1) = f(n) + f(n+1)

(2) Consider the following program (“peven” = “positive and even”, so for “podd”)

{N>=0} n, a, b := N, 1, 0;
do peven(n) -> a, n := a + b, n/2
[] podd(n) -> b, n := b + a, (n-1)/2
od {b=f(N)}

Here (1) gives a recursive definition of f, (2) gives a repetitive program. Both definitions can be translated in a straightforward manner into functional programs. What would be involved in the demonstration of their equivalence?

The above seems to me little example of the appropriate degree of sophistication to try your hands on. (I am not going to try it myself, as I fear that my past experience would misguide me: I am afraid that I wouldn’t rise above the level of translating (2)’s traditional correctness proof — with which I am very familiar — in an unfamiliar notation. Good luck!)

With my greetings and warmest regards,
yours ever
Edsger

P.S. Please note my new postal code: 5671 AL (capitals obligatory) in front of the village name EWD.

Backus to Dijkstra, 1979–03–28

Transcript

March 28, 1979
Prof. Dr. Edsger W. Dijkstra
Plataanstraat 5
5671 AL NUENEN
THE NETHERLANDS

Dear Edsger,

I have counted you among my friends for some time now and thought that you counted me among yours; you must tell me whether you still wish me to continue doing so after you read this. For I propose to take on a burden of friendship that I hope will be of some help to you although it is perhaps bitter medicine-if you can swallow it at all. I propose to discuss with you as a friend (although perhaps with some bitterness that comes from my own large ego, whichI shall try to keep in check) the sad impairment of your great abilities and your reputation as a creative thinker that result from your powerful and self-indulgent ego.

It is indeed depressing to anyone who respects your truly exceptional talents to see you of late apparently spending a great deal of time on shallow, negative polemics that contribute almost nothing in the way of real knowledge or deep truths to the subject matter they deal with. Instead of utilizing your major talents in the difficult business of discovering new viewpoints, and new understanding and techniques, you make a spectacle of yourself indulging your minor talent for innuendo and derogation. There are occasions on which it is desirable for a person with an outstanding reputation to devote some effort to pointing ·out the flaws ina significant proposal. But it is fatuous to waste time attacking one so weak that it can be demolished by high school debating tactics that avoid serious consideration of fundamental issues and deal only in hostile innuendoes, unsubstantiated arrogant opinions, and trivial nitpicking.

It seems to me (and to many others, I assure you) that some of your recent polemics are based too much on a need to be at stage center and to thrust your private opinions at the public on the basis that since they are the opinions of Dijkstra they must be right and do not need the careful justification that the opinions of others require. Since it concerns me the most, let me try to trace with you the harmful consequences of hubris that are to be found in EWD692.

First, you have wasted I do not know how much time in writing a five page review about an article that interests you so little that you have barely read it and have thought about it almost not at all . I really would have been pleased had you raised some important issues or criticisms about it; this might have led to an interesting and perhaps useful debate. But since you begin with an ego-driven impulse to attack and “grandstand” rather than understand, your review deals consistently with trivial matters.

For example, had you been concerned with understanding, instead of your waspish remarks about my claim that there are advantages in having a programming language that can also serve as a proof language, you might have begun a significant debate concerning the relative merits of equational theories versus full logical systems.You might have observed that while equational theories provide simpler techniques for answering certain questions, there are many other questions that cannot be phrased in such a theory. There are many further interesting issues of this sort that you might have considered.

Another example of how your animus in the review has driven you to make remarks that are both trivial and not quite fair: in the only other part that even pretends to deal with substantive matters, you make much of the fact that it is easy, if one does the most obvious thing, to implement the matrix multiplication program in an inefficient way. In doing so you leave your readers with the impression that this is something you have discovered that I am unaware of, whereas you read it in my discussion of the program. You fail to observe that, if one does the obvious thing, it is easy to implement the Algol program in an inefficient way also. You also fail to note that it is obviously not so hard to implement the functional program without making the copies you suggest.

Your remark that my claim that my program does not name its arguments is “silly” shows how your arrogance and consequent failure to think carefully leads you to make erroneous and shallow comments. As noted earlier in my article, [ 5.1 (f) and 5.2 (f)], the point of the remark that the matrix program does not name its variables is that it does not require a procedure declaration nor the accompanying object program machinery that replaces formal variables by actual ones. Your suggestion about using “parl” etc in Algol would not eliminate the need for such machinery. (Since this machinery forms one of the principal stumbling blocks to the convenient use of the proof methods you and Hoare have pioneered, it is surprising that you should be so blind to this point.)

This recital is becoming too long, yet there are many further indications of how your ego and/or your instinct to attack, rather than inquire, damage your ability to see clearly and to conduct yourself with the reasonableness and fairness that could be expected of someone in your position. Here are just a few:

1) You distributed your review to your EWD “subscribers” without doing me the courtesy of sending me a copy, although you could well have sent me an advance copy — had you done so, I could have helped you raise the level of debate above the trivial and saved you, I believe from some ridicule. Were you perhaps too embarrassed to send me a copy? I can readily see that you might have been.

2) You dismiss in one sentence the substantive part of the section that claims to make a contribution to proving facts about programs(algebra of programs), an area to which you have made important contributions. Does your ego prevent you from even looking at an alternative approach, from seriously considering its pros and cons? You seem to be unable to find a single worthwhile contribution in the article. Having found nothing of merit, why bother to write a review? Is your conceit so great that you feel that your hasty, ill-considered opinions are so vital to the world that it is worthwhile to spend your time on such a review?

3) You speculate [p1] on the basis, I presume, of my 2.1.3 and 2.2.3that I do not understand the ideas of axiomatic semantics. You were wrong again. And gratuitously offensive.

4) Let me conclude this list with a constant practice of yours, in this as well as in many other reviews, that you should be a ware of,because . although it is a ludicrous matter, it a muses many people mightily at your expense. I refer to your practice of making much of people’s mistakes in their use of English, by out right remarks,by numerous “[sic!]”s and the like. This would merely be unpleasant and result in hurt feelings were it not for the fact that the author of these snide comments himself commits some of the most glorious atrocities to be found in English. The result is indeed humorous,but it is scornful humor and I don’t like to see you making yourself the butt of it. In case you doubt me, let me cite a few examples from EWD692: p2: “The question should be raised what we have achieved.Have we done more than creating a new environment for optimizing compilers?”I believe this might be better phrased “The question should be raised:what have we achieved? Have we done more than create a new … “p3: “ … in order to show how repetitive Backus writes” should be:” … how repetitively Backus writes” Another gem on p3: “ … laboriously belaboring the obvious.” The point is that we all make such trivial errors, even EWD, and private friendly help is more in order than public venom.

In private relationships you have always seemed to be decent,friendly and ready to help your colleagues. But when you go public it appears that your ego goes ape, and you display a number of unpleasant qualities. Perhaps you were unaware of how you then appear to others; I imagine you were. Perhaps no one has taken on the unpleasant task of trying to show you this. Since I would like to continue to regard you as a friend, I am obliged to try; for if you continue to use me as you have on this occasion, it will be difficult for us to have a good relationship. I hope I have not been excessively sharp in my criticism; I really do hope it will have some positive value for you. Had I not had considerable admiration and good feeling toward you to begin with, I assure you I would not have taken the trouble to write this difficult letter.

Part of my feeling toward you is founded on a sense of comrade-ship that comes from the struggle of doing creative work, work that is something exhilarating and often discouraging and painful. One develops a special regard for others who share in this search for truth and endure the many defeats that come before one can isolate a new bit of truth. Until recently I had regarded you as someone dedicated to discovering the deepest truths you could find. Now I am confused, but, as I hope you see, I attribute your recent polemics to the ego factors I have tried to illustrate. For your own sake, it is important to observe that your ego-related emotions have at times corrupted the respect for truth that one finds in your work at its best, that they make you appear instead as merely testy, arrogant and opinionated. One of the crucial battles we all must fight if we are interested in the truth is the battle with our own ego,the primary enemy of objective truth.

What dismayed me about EWD6 92 was its lack of respect for a co-worker, for his dedication, like yours, to finding some useful truths.If you are going to attack, do it well, do it with respect, think it out. Don’t rely on waspish comments and innuendo. Your attack was emotional, not well thought out, trivial.

Perhaps the worst aspect of an emotional attack such as EWD692is that it tends to cut off technical communication. Try to imagine how someone in my position would feel about sending you any comments or papers. I would feel rather foolish about discussing problems, say,about correctness proofs with you, since you have given indications of some animus that prevents you from taking my comments seriously,that compels you to attack them without understanding them. I do hope there is some way this situation can be rectified . This was not the situation at all with the very nice letter you sent in May 1978. It was so completely different in tone from EWD692 that the latter was a surprise.

I do owe you an apology for being so extremely slow in answering,but I believe that you already realize from conversations withJohn Williams in Germany that he and I have devoted a lot of attention to the problem you posed in it. The reason it has taken so long is that we had hoped to find a proof of the equivalence of the two programs that was general, based only on their structure,not on the particular functions used in the structure. We have done this — almost. It turns out that one can transform these programs structurally — ignoring their constituent functions — -to two programs that are almost identical; but the equivalence of the two ultimately depends on the details of the constituent functions.

I have also given a lot of thought to some of your other remarks in your letter, but under the present circumstances am hesitant about discussing them with you. I am not giving up on maintaining our relationship if you wish to continue it, but as you can see I am in need of some clarification. You might be interested to compare your letter, — with its friendly and helpful tone, with your remarks in EWD692: I enclose a copy. The contrast is puzzling: which of the two EWD’s are you?

Well, Edsger, I look forward to hearing your reaction. I do hope that you will recognize that, although I have said some things that you will not enjoy hearing , I have said them in an effort to continue a relationship that I have valued and that would have become impossible otherwise. I hope you will find this letter of some value to you , and that we can straighten these difficulties out.

Sincerely
John Backus
91 Saint Germain Avenue
San Francisco, California 94114

Dijkstra to Backus, 1979–04–05

Transcript

John Backus
91 Saint Germain Avenue
SAN FRANCISCO, California 94114
U.S.A.

5th of April 1979

Dear John,

thank you for your long — and nice! — letter of March 28, 1979,which arrived this morning. Let me quote from a letter from an other friend who commented on EWD 692:

“[you wrote] “show how repetitive Backus writes”. An adverb is required. But better “to reveal his repetitious style”.
I get the impression that Backus annoyed you by his ill-founded attack on proofs of program correctness. But your defece (on page 1) is really rather brief. Your counterattack concentrates on:
(1) the inefficiency of functional forms, even on highly parallel hardware
(2) the inconvenience of using combinators rather than named formal parameters
(3) the tedium of algebraic proofs
(4) repetitious style, and agressive overselling.
I do not know how widely you propose to distribute EWD692. In a way I hope not too widely. But in another way, your defence of the use of logic should be promulgated very widely indeed. Could I persuade you to moderate the tone and narrow the range of your counterattack to points (1) and (2)? My own view is that abstract functional techniques provide a valuable mathematical tool for the formulation and solution of certain kinds of problem.We should certainly not exclude it from our intellectual repertoire.”

For you information I quote from my answer:

“That I wrote an adjective instead of an adverb was stupid, for I know the rule perfectly well. My problem is that in Dutch the adverb has all but disappeared a few centuries ago, and when writing English I have to apply the rule consciously. Thanks for the reminder.[…]EWD692 is not intended for wide distribution, it betrays too much annoyance at the fact that Backus presented his thing by way of Turing lecture,the glamour of which immediate caused the significance of functional programming to be overrated beyond justification. I noticed false hopes within[… … …]and some compensating noises seemed required; EWD692, I am happy to report, has done its job. Your points
(1) the inefficiency of functional forms, even on highly parallel hardware
(2) the inconvenience of using combinators rather than named parameters
need to be stressed, and I am sure that both you and I shall do so, but if we wait a little while, we can do so without mentioning John Backus in particular. With your view of “abstract functional techniques” I agree: they are safe tools, so let’s use them by all means whenever they are appropriate!”

I trust that the above quotation from my letter explains what EWD692was: a political pamphlet where a political pamphlet seemed needed, a need that, I hope unintentionally, you yourself had created . My guess is that,had you fully realized the glamour of the Turing Lecture — and the lack of independent judgement of most of its audience — you had made more sober use of your eloquence.

You raise the question why I did not send you a copy. Of course I thought about it. I can reassure you that it was not that I was “too embarrassed”. Well, you have given the answer yourself on page 4 of your letter “Perhaps the worst aspects of an emotional attack such as EWD692 is that it tends to cut off technical communication.” Between you and me I definitely prefer to discuss on the technical level our subject deserves.So, why polute it by politics?

* * *

Allow me to correct an erroneous impression your letter tells me I have made. You write in the 3rd paragraph “It seems to me (and to many others,I assure you) that some of your recent polemics are based too much on a need to be at stage center and to thrust your private opinions at the public on the basis that since they are the opinions of Dijkstra they must be right and do not need the careful justification that the opinions of others require.”I am unaware of any “need to be at stage center”, on the contrary! The vast majority of invitations to speak I decline, almost none of my writings are submitted for publication , and I send my writings to about a dozen people.Does that reveal “a need to be at stage center”? I don’t think so. And what “recent polemics” did you have in mind? My comments on the DoD languages?If so , it might clarify the situation for you to know that I did not offer them to the SIGPLAN Notices, but that their editor asked me whether he would be allowed to include them. And for the fact that they contained “my private opinions” no apology is needed: that was what had been asked for by the DoD. Dr do you have my comments on the DeMillo/Lipton/Perlis paper in the SoftwareEngineering Notes in mind? Again I draw your attention to the fact that they have been included upon their Editor’s request, and that I abstained from joining the subsequent discussion. (I shall not deny that my comments on the DM/L/P papers were composed as disagreeable as I could make them! The blokes had asked for such a treatment, and I was perfectly willing to show them that two could play at that game.)

Furthermore you need not worry about my “ego”; in large parts of my country the “ego” is considered as a not very helpful invention of the psychologists and we very much doubt whether it makes much sense t o have one: “explanation” of people’s behaviour in terms of it is seldomly inspiring .

* * *

One technical point. I did indeed doubt whether you had grasped the full implications of axiomatic semantics, viz. that they can be used to de-fine programming language semantics independent of any underlying computational model , and subsequently allow you to deal with the correctness issue fully ignoring that the program text allows admits the interpretation of executable code. Once you have learned how to reason about the correctness of programs without dragging computational histories into the picture,the arguments doing the latter become very clumsy and unconvincing indeed. Your letter — referring to “the object program machinery that replaces formal variables by actual one” that a program may or may not require — only confirm that doubt.

* * *

I was very sorry to read that yours was a difficult letter to write .For that difficulty I owe you my apologies. Although….. it was a pleasant letter to receive and good old Samuel Johnson already stated that “What is written without effort is in general read without pleasure.” Or to end with another Johnsonian quotation “A man, Sir, should keep his friendship in constant repair.”

With my greetings and best wishes,
yours ever,
prof.dr.Edsger W.Dijkstra
Burroughs Research Fellow

Backus to Dijkstra, 1979–04–18

Transcript

April 18, 1979

Prof. Dr. Edsger W. Dijkstra
Plataanstraat 55671 AL NUENEN
The NETHERLANDS

Dear Edsger,

I returned yesterday from a brief vacation to find your friendly response to my letter. I am pleased that you found my letter “nice” and “pleasant to…receive”. Nevertheless your letter was puzzling. You write what you yourself call a “political pamphlet”in an effort to do a political hatchet job on a serious and long effort of mine to make a contribution to our field, you distribute it behind my back, I reproach you for this; what is your explanation?You say that the “glamour” [my god!] of the Turing lecture had apparently raised “false hopes” among some people without “independent judgement”about the possibilities of functional programming, and that therefore”some compensating noises seemed required”. I can’t understand why an egoless person should be interested in influencing the opinions of a mass of people without independent judgement about the work of someone else, and not even by honest argument and analysis, but by a cynical and invidious “political” hatchet job (“I am reminded of the [NATO] general … “ and other such gems). Apparently you feel satisfied that your prestige has convinced these ninnies without any sense of their own to believe your hatchet job, and you seem well satisfied with your handiwork, and suffer not the slightest embarrassment.

What am I to make of this response? You have informed me that with respect to my work and god knows what else, you are a politician rather than a computer scientist. I accept that if you really wish me to. I really don’t care if by chance I convinced someone, or even hordes of people without independent judgement, that functional programming is the best thing since sliced bread, or if your hatchet job caused them to reverse their view entirely. I’m interested in trying to understand what is and what isn’t useful and important; my paper was a sincere effort to explain some insights that took me a lot of effort to acquire and that I hoped would be _useful_ to others who do have independent judgement.

My letter was an effort to point out to you both the dangers of emphasis on political rather than computer science activities,and the cause for that emphasis. Apparently you cannot see the danger and even less the cause. That saddens me because it means that inevitably you will waste a lot of your time and talent. If you cannot even suspect your efforts to woo the “great unwashed masses” with EWD 692 (for who else would take seriously such a hasty and obvious political pamphlet?) was a consequence of hubris, if you really believe you are free of a problem that affects all of humanity, and you more than most,then I cannot help you.

At least let me point out on the practical level, a fact about political activities such as we are discussing. The real course of computer science is determined, in the long run at least, by new truths and discoveries, new techniques, new insights, not by the opinions of people without “independent judgement” that are influenced by political pamphlets. Thus Demillo-Lipton-Perlis might influence a lot of ninnies with their political pamphlet , and yours might change their minds again, but in the long haul the fate of program verification depends on the realities of the progress made in the field and its real usefulness as determined by competent people who can see for themselves what the facts are. Neither their “ugly” paper nor your nasty reply will have much bearing on the outcome, except that a lot of ninnies will be induced to cheer for one side or the other. Similarly, if it turns out that the proposals I have made have flaws that make them useless, EWD6 2 will not contribute to their discovery and will then appear as the foolish tempest in a teapot that it is. If it turns out otherwise, EWD692 will appear as evidence of your poor insight and envious hostility. In either case you will have wasted time and tarnished your reputation.

I am sorry that your friend feels that I have made an “ill-founded attack on proofs of program correctness”. Perhaps you feel that too. I assure you that was not my intent, and I think that if your friend were to read carefully, he would find that I am attacking certain properties of programming languages that make proofs more difficult and less general than they might otherwise be; but I do not attack proofs of correctness, in fact I express considerable admiration for work in that area. I hope to clarify the language properties that will contribute to the existence of more general theorems about programs in a paper I’m working on. If you and your friend can take time out from your political campaign to discredit this work, you might find that you will be able to make good use of such properties in languages that suit you better than mine and thereby find that, when applied to such languages, your own proof techniques will look even better than they do now and produce more general and useful theorems about larger classes of programs.

Thank you for your friendly letter. I have always had considerable respect for a computer scientist named EWD. Until recently I did not know there was a rather rascally politician of the same name; I still wish I hadn’t encountered him and hope that he will not continue to blight our relationship in the future.

Peace

John Backus
91 Saint Germain Avenue
San Francisco, CA 94114

PS. Would you be interested in giving a talk at theSan Jose IBM Lab during your stay on theWest Coast? Many of us would be delighted to have you do so — I hope you will. If so, let me know + we can discuss arrangements, honorarium, etc.

Dijkstra to Backus, 1979–04–24

Transcript

John Backus
91 Saint Germain Avenue
SAN FRANCISCO, CA 94114
U.S.A.

24th April 1979

Dear John,

thank you very much for your — also nice ! — letter of 18th April 1979.You are very honest and the letter is illuminating . You write: “The real course of computer science i s determined, in the long run at least, by new truths and discoveries, new techniques , new insights not by the opinions of people without “independent judgement” that are influenced by political pamphlets.”

Yes, of course, but! I would fully agree if everybody who could contribute would ignore what you call “the ninnies”; if that condition were satisfied we would live in an almost ideal world. The sad fact is that ninnies do have influence, for instance in the process of assigning research budgets. Not the opinion of ninnies, but the possible consequences of their opinions is what matters: by diverting research opportunities they can easily retard progress very much. For instance, writing the DM/L/P rebuttal was not fun at all. Yet someone had to do it, someone had to accept that task, no matter how unpleasant! In retrospect I am glad someone did it. Messages of “thanks”have reached me from officers of funding agencies, who found themselves in great difficulties when defending some research proposals in which they believed for good reason, but found themselves unable to convince their superiors, because their superiors had received the DM/L/P paper, the contents of which were taken as the gospel truth — mainly on the authority of P. — .The lower officers were grateful for my rebuttal which served as an antidote.You may regret this state of affairs as much as I do, but there is no point in denying it.

You write:

“I am interested in trying to understand what is and what isn’t useful and important; my paper was a sincere effort to explain some insights that took me a lot of effort to acquire and that I hoped would be useful to others who do have independent judgement.”

Sure, I fully believe you. But again: it is not the one with independent judgement I was worried about! I don’t need to help him to make up his mind! I was worried about the impression made upon the non-expert — the “ninny” — whose opinion matters for the sake of its consequences. I had good reason to be worried about that. You are not the person to be overawed by the “glamour” [my god!] of the Turing lecture, but, regretfully enough, not all people are that immune. Please reread the first paragraph of p.2 of my previous letter — in the meantime you are free to change the word “hope” of the 3rd line into “fully trust” — .

When you write in the first paragraph of your last letter “I cannot under-stand why an egoless person should be interested etc.”. Well, to put it bluntly : to repair some of the havoc of unbalanced opinions that you had created. And again : whether these were the opinions of people you care about, is neither here nor there…..

You write “What am I to make of this response? “ Can I help you by stressing that I make a great difference be tween “your work” and “your Turing lecture”? I regard — and continue to regard — your work (as I wrote) as “a valid research effort”.

I must, finally, ask you again not to try to understand me in the psychologist’s jargon. I know enough Latin to know what “ego” meant originally, I also know enough Greek to know what “hubris” meant originally, but as technical terms of the psychologist we don’t find them very helpful. As long as you insist on explaining my behaviour in those terms, my letters will remain “puzzling”, I am afraid.

* * *

I would be delighted to give a talk at the San Jose IBM Laboratory;visiting the place will be a new experience for me, I have never been inSan Jose. I think that a rather recent result — the detection of termination of diffusing computations — would be an appropriate topic. I once showed it to my students, and could do so in twice 45 minutes, but it was almost the first instance they saw — from me, at least — of distributed computations.

With my greetings and warmest regards,
yours ever,
prof.dr.Edsger W.Dijkstra
Burroughs Research Fellow.

P.S. Peace!
EWD

A note in Backus’s handwriting:
normal: 1 15 lecture
1 hr discussion after lecture

Backus to Dijkstra, 1979–05–15

Transcript

May 15 1979

Burroughs Mission Viaje
714 768 2170

Prof. Dr. Edsger W. Dijkstra
Plataanstraat 5
5671 AL NUENEN
THE NETHERLANDS

Dear Edsger,

Thanks for you letter of April 24; I apologize for the delay in answering. I am happy to hear that you will give a talk at the IBM San Jose Lab. I am pleased to report that I have been able to arrange for special honorarium in your case, thus I can say that the lab offers to pay your local expenses (travel, lodging, meals, etc.) associated with your visit to the lab , plus an honorarium of $300. Any day in August or September that you suggest will be fine (although John William hopes it won’t be in the week of August20, since he will be on vacation then). I presume that you may want to come in the latter part of the week of August 6, or the early part of the week of September 3; if so, IBM will of course cover your expenses over the weekend and so forth, before the ProgrammingMethodology Institute, or after the WG 2.3 meeting. If you have anyfurther requirements, please let me know.

Do you plan to attend the whole two weeks of the Institute? the whole week of the WG meeting ? I tentatively plan to attend most of the Institute meetings; if you do too, we shall have plenty of time to compare notes and debate the relative merits of our two approaches. I have been looking at combining the two: applying methods motivated by yours and Tony’s to what I consider better languages. I have hopes that the result will be even better precision and concision of expression plus theorems of greater generality and usefulness that can be used to help guide the construction of a program and to guarantee its correctness. We shall see.

If you will send me an abstract of your talk, it will help in publicizing it. (By the way, the topic you suggest sounds very interesting, there are a number of people at the lab who are interested in distributed computation.) There is considerable excitement here at the news that you will be giving a talk. I plan on having it publicized in the San Jose Research lab, the Santa Teresa lab (develops programs, quite a large place), the Loa Gatos lab, and a number of other IBM places in the Bay Area.

In closing, let me say that I appreciated your last letter.

Best regards,

John Backus
91 Saint Germain Avenue
San Francisco, CA 94114

bcc: W. F. King, S. P. Ghosh, J. H. Williams

P.S We would like to invite you to have dinner with a small group of us the evening of your talk.

Note

I found it significant that Backus had nothing more to add to the issue of Dijkstra’s tone by this point, falling back to a much colder and official voice.

Dijkstra to Backus, 1979–07–12

Transcript

to John Backus
91 Saint Germain Avenue
SAN FRANCISCO, CA 94114
U.S.A.

12th July 1979

Dear John,

my schedule is very tight, and I am afraid that I must disappoint John Williams: Monday 20 or Tuesday 21 August seem the only two slots that are really available.

I shall arrive in the USA on Sunday 29th July, and had already committed myself for the week of Monday20 July to Burroughs in Mission Viejo. My wife and the two youngest children will join me for the first three weeks of the trip, and the week of 6th August was planned as “the real holiday.” Since then BillMcKeenan has twisted my arm: the programming course to be given that week was so heavily over-booked that he asked me to give a second course,in parallel to David’s. Under those circumstancesI would like to avoid further commitments in the week starting on Monday 13: it is their last week in the USA, and I have then been working almost all the time!

Immediately after WG2.3 I shall go to Austin,Texas (Burroughs and University), and then home! If I have a completely free choice, I think I would prefer Monday 20 slightly over Tuesday 21.

Talk Aug 20 1 30 pm by Prof Dijkstra
IBM Research Lab, San Jose

Now title and abstract:

Title: Termination Detection for Diffusing Computations
Abstract: The activity of a finite computation may propagate over a network of machines, when machines may delegate (repeatedly) subtasks to their neighbours; when such a computation is fired from a single machine, we call it “a diffusing computation”. We present a signalling scheme — to be superimposed on the diffusing computation — enabling the machine that fired it to detect its termination. Our signalling scheme is perfectly general in the sense that, independently of the topology of the network, it is applicable to any diffusing computation. (End of abstract.)

Please give my regards to John Williams and tell him how sorry I am that I shall miss him. I am not familiar with distance and transport facilities between Santa Cruz and San Jose. If it is better when I come to San Jose the day before that is fine with me; may I leave the logistics to you? (Wife and children leave on Friday 17th August.)

With my greetings and best wishes,
yours ever
Edsger

Note

WG2.3 appears to be a reference to the IFIP Working Group 2.3 on “Programming Methodology”, referred to in EWD 611, “On the fact that the Atlantic Ocean has two sides”. One can only speculate how much impact Backus’s correspondence had on Dijkstra’s impressions of the transcontinental cultural divide between Europe and the USA.

About these images: I took pictures of each page using my own cell phone, a Google Nexus 6. Scanners and photocopiers require special permission at the LoC’s manuscript reading room, so I wasn’t able to prepare better scans. Each page was edited for contrast and level balance to make the text clearer, but it was not easy to make each page readable since most of these pages were typed or written on very thin mimeograph paper.

Interested in transcripts? Help proofread the transcripts being crowdsourced in this GitHub repository.

Acknowledgements

Thanks to the librarians of the Library of Congress, Manuscript Reading Room for storing and retrieving the Backus papers, which as it turned out made for some very exciting reading.

Thanks to Ludwig Weinzierl for providing the transcript to the first letter.