Reading notes on Dijkstra’s Turing lecture

Notes

Dijkstra’s Turing lecture is mentioned in Knuth’s “Structured Programming with go to Statements”.

There are two gems that relate to the importance of good design that can lead to lower development costs.

  • “software seems to be different from many other products, where as a rule a higher quality implies a higher price. Those who want really reliable software will discover that they must find means of avoiding the majority of bugs to start with, and as a result the programming process will become cheaper.” [p8]

  • “The only effective way to raise the confidence level of a program significantly is to give a convincing proof of its correctness. But one should not first make the program and then prove its correctness, because then the requirement of providing the proof would only increase the poor programmer’s burden. On the contrary: the programmer should let correctness proof and program grow hand in hand.” [p10]

Reference

Edsger W. Dijkstra: The Humble Programmer
ACM Turing Lecture 1972