Let us pause a moment to remember Edsger W. Dijkstra, who passed away
on August 7. Mr. Dijkstra was
the source of much wisdom in Computer Science, and we are all in his debt.
Much of what we now take for granted (i.e. the semaphores in the Linux
kernel) is rooted in his work. He is one of our founding fathers.
For a number of years I have been familiar with the observation
that the quality of programmers is a decreasing function of the
density of go to statements in the programs they produce.
--Go To Statement Considered
Harmful, CACM, March 1968.
Simplicity is prerequisite for reliability.
The use of anthropomorphic terminology when dealing with
computing systems is a symptom of professional immaturity.
The use of COBOL cripples the mind; its teaching should,
therefore, be regarded as a criminal offence.
we tell truths that might hurt?, June 1975.
Today a usual technique is 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
The competent programmer is fully aware of the strictly lmited size
of his own skull; therefore he approaches the programming task in
full humility, and among other things he avoids clever tricks like
-- The Humble Programmer
The Humble Programmer was Dijkstra's 1972 Turing Award lecture; it can be
obtained as a difficult to
read PDF file.
In the end, Dijkstra valued simplicity as the key to program reliability.
One might hope that he would have found things to admire (along with things to
criticize) in the free software world and its accomplishments.
to post comments)