Since then we have witnessed the proliferation of baroque, ill-defined and, therefore, unstable software systems. Instead of working with a formal tool, which their task requires, many programmers now live in a limbo of folklore, in a vague and slippery world, in which they are never quite sure what the system will do with their programs. Under such regretful circumstances the whole notion of a correct program — let alone a program that has been proved to be correct — becomes void. What the proliferation of such systems has done to the morale of the computing community is more than I can describe
“
| — | Edsger W. Dijkstra, A Discipline of Programming, 1976 |