The Humble Programmer
TuringAwardLecture: "The Humble Programmer," by EwDijkstra - 1972.
Printed in Classics in Software Engineering Yourdon Press, 1979. ISBN 0917072146
You can read the original paper, shown in CACM 1972 V15 #10, on the internet at http://www.cs.utexas.edu/users/EWD/transcriptions/EWD03xx/EWD340.html
Not to be confused with HumbleProgrammer, a ProgrammerStereotype.
-
Those who want really reliable software will discover that they must find a means of avoiding the majority of bugs to start with, and as a result the programming process will become cheaper.
-
If you want more effective programmers, you will discover that they should not waste their time debugging - they should not introduce the bugs to start with.
-
We should confine ourselves to intellectually manageable programs.
-
We must not forget that it is not our business to make programs; it is our business to design classes of computations that will display a desired behaviour.
-
It is a usual technique to make a program and then to test it. But: program testing can be a very effective way to show the presence of bugs, but it is hopelessly inadequate for showing their absence.
-
The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.
-
The question: "Can you code this in less symbols?" or, "Guess what it does?" - as if this were of any conceptual relevance!
-
As long as machines were the largest item in the budget, the programming profession could get away with its clumsy techniques.
CategoryPaper