Dijkstra Was Wong
Software Development Is A Beautiful Mess
In 1968, Dijkstra banned GOTO and advocated for structured programming, but it was for the wrong reason.
“GOTO Statement Considered Harmful” by Edsger W. Dijkstra is probably one of the most influential articles in software history. Its effect was so profound that most new developers today haven’t heard of GOTO or know what it’s used for. The elimination of GOTO, a debate worthy of the holy wars of the time, resulted in cleaner and more maintainable code, justifying its elimination. But the reason was wrong. While Dijkstra sought beautiful order through mathematical precision, he failed to see that software development’s true power lies in embracing its nature as a beautiful mess.
Dijkstra’s Crusade
Dijkstra had a dream: to create error-free code where mathematical rigor would prove that a program would never fail.
However, his dream had an enemy: Turing had demonstrated years before that it was impossible to know for any code whether it would work. And this drove him away from his dream.
However, Dijkstra did know that there were codes that were easy to determine whether they would work well or not. Therefore, the question was not to be…