Live data from Hacker News

Letters between Backus and Dijkstra (1979)

medium.com

41–50 of 128 posts

Re: Letters between Backus and Dijkstra (1979)

#41

You know, I'm wondering: could part of Dijkstra's reputed arrogance be due to a cultural difference? I'm Dutch, and bluntly calling out flaws in each other's work is not considered all that rude over here; it's almost the opposite: not calling someone out on their flaws implies we either consider them a lost cause or not worth the hassle of educating. I almost got fired from a teaching position in Sweden because I to…

I've always liked the Dutch for this reason. If it isn't possible to work with somebody while disagreeing with them, then you're the problem. If you spend long enough talking to anybody you'll eventually come across disagreements. Many people take disagreements too personally. I was just yesterday talking to a paramedic. I mentioned to him the article I saw on HN about medical error being the 3rd highest cause of dea…

I don't know what your friend said, but the "errors are #3 killer" is a twisted fact. It comes from assigning "error" at the cause of death of every injury or illness that might have been non-fatal if every perfect test, advance in practice, technology, and mode of care were applied. It isn't a measure of how many otherwise healthy people were killed by errors that introduced new complications.

One of highlighted examples from an abstract of a major study was an "error" where a doctor didn't tell a kid with diagnosed heart disease that strenuous exercise would be dangerous, and the kid died after collapsing during a run.

Re: Letters between Backus and Dijkstra (1979)

#42

Earlier quoted context omitted.

What recent talks has Kay given? To be honest, my only criticism of him based on what I've seen the last decade is that he's reusing too much of the same material, even though he certainly has a lot more to say.

The thing is that I think he is hung up on the masses still not really getting that material, so he keeps repeating himself. Kinda like how a teacher will repeat the same material because he keeps getting new kids every year. Also, there's this single question by him on Stack Overflow, where he keeps replying to people with "nope, already had that in the 60s/70s": http://stackoverflow.com/questions/432922/significant…

Kay is the reductio but forgot the absurdum. The natural numbers are the most recent invention in computer science. The rest is just implementation details.

Re: Letters between Backus and Dijkstra (1979)

#43

Earlier quoted context omitted.

What do you say? Shall we divide the task among a few of us and type this up? (Or do people perhaps do this with OCR nowadays?) Would there be enough interest in having these letters in searchable form to motivate the effort?

I'm willing to do at least one, but would like to have some assurance that I'm not working on the same letter as someone else before doing so. I'm more than willing to take on one of the handwritten ones, as I intend to just transcribe it with no effort at OCR anyway. Edit: I'm going to just do Dijkstra to Backus, 1978–05–29 right now, update when done

I only just noticed that weinzierl did this one four hours ago.

Dr. Edsger W. Dijkstra to John Backus International Business Machines Corporation 5600 Cottle 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 the 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 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 amenable 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 educating 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 that we haven't found the general patterns yet. Secondly 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 separated 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") [1]

    {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 a 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.

Transcriber's notes:

[1] This was a little difficult to transcribe cleanly into pure text. The "od" on the last line is clearly the ending delimiter for the opening "do" (both of which were lowercase and underlined). The pipe on the second-last line was, I think, meant to clearly show that the line beside it was within the do loop.

In a few places Dijkstra underlined text. With some I have not carried that over, with others I've surrounded the text with underscores.

Re: Letters between Backus and Dijkstra (1979)

#44

Earlier quoted context omitted.

What do you say? Shall we divide the task among a few of us and type this up? (Or do people perhaps do this with OCR nowadays?) Would there be enough interest in having these letters in searchable form to motivate the effort?

> Would there be enough interest in having these letters in searchable form to motivate the effort? Yes, please :). Esp. Dijkstra's letter from the 5th of Apr '79. It's a bit hard to read. Thanks for making them available.

update - not working on this one now. The pages are pretty readable, if you save them. The image display stuff that medium is using is what screws them up to the point of unreadability.

Re: Letters between Backus and Dijkstra (1979)

#45

Earlier quoted context omitted.

What recent talks has Kay given? To be honest, my only criticism of him based on what I've seen the last decade is that he's reusing too much of the same material, even though he certainly has a lot more to say.

The thing is that I think he is hung up on the masses still not really getting that material, so he keeps repeating himself. Kinda like how a teacher will repeat the same material because he keeps getting new kids every year. Also, there's this single question by him on Stack Overflow, where he keeps replying to people with "nope, already had that in the 60s/70s": http://stackoverflow.com/questions/432922/significant…

I'm bookmarking that. Appreciate the link. You're mischaracterizing it a bit, though. He usually gave the specific counter-example(s) of what was there first so person could look it up. The only one I disagreed with was Prolog for declarative programming. "Portman" was right that real-world use of it typically requires extra steps for the how as much as the what. I've read many horror stories, even for modern implementations.

Re: Letters between Backus and Dijkstra (1979)

#46
post #26

Earlier quoted context omitted.

> textbooks written by guys like Eric Hehner and Roland Backhouse Would you like to say something about those?

E. Hehner has a course called "Formal Methods for Software Design", which he presents completely openly online (including video lectures, a textbook, solutions, and so on): http://www.cs.toronto.edu/~hehner/FMSD/ I really liked it. I also liked R. Backhouse's approach to it, encapsulated in two books: 1) less playful: http://www.amazon.com/Program-Construction-Calculating-Imple... 2) more playful: http://www.amazon.c…

Hehner's work is on my reading list. The reviews on Backhouse's links aren't promising.

Re: Letters between Backus and Dijkstra (1979)

#48

Earlier quoted context omitted.

> Would there be enough interest in having these letters in searchable form to motivate the effort? Yes, please :). Esp. Dijkstra's letter from the 5th of Apr '79. It's a bit hard to read. Thanks for making them available.

update - not working on this one now. The pages are pretty readable, if you save them. The image display stuff that medium is using is what screws them up to the point of unreadability.

Thank you!

Re: Letters between Backus and Dijkstra (1979)

#49
post #26

Earlier quoted context omitted.

> textbooks written by guys like Eric Hehner and Roland Backhouse Would you like to say something about those?

E. Hehner has a course called "Formal Methods for Software Design", which he presents completely openly online (including video lectures, a textbook, solutions, and so on): http://www.cs.toronto.edu/~hehner/FMSD/ I really liked it. I also liked R. Backhouse's approach to it, encapsulated in two books: 1) less playful: http://www.amazon.com/Program-Construction-Calculating-Imple... 2) more playful: http://www.amazon.c…

Thank you for linking that course. I've always been interested in formal methods and verification of correctness.

Re: Letters between Backus and Dijkstra (1979)

#50
post #37

Could anybody explain why this comment by "internaut" was downvoted so heavily? I found internaut's comment to be insightful, well-conceived and on-topic. What's wrong with this comment? EDIT: Moreover, who downvoted me so quickly for asking this question? This happened almost immediately after I posted this. Are there some nasty bots at place here?

https://news.ycombinator.com/newsguidelines.html

search for 'downvoted'.

Post reply on HN