Sunday, April 29, 2007

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.

--- Edsger Dijkstra, The Humble Programmer, ACM Turing Lecture 1972, published in Commun. ACM 15 (1972), 10: 859-866

In context:

I now suggest that we confine ourselves to the design and implementation of intellectually manageable programs. If someone fears that this restriction is so severe that we cannot live with it, I can reassure him: the class of intellectually manageable programs is still sufficiently rich to contain many very realistic programs for any problem capable of algorithmic solution. 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.