Author: Edsger W. Dijkstra
Date: 1968
Link: PDF
For that reason we should do (as wise programmers aware of our limitations) our utmost to shorten the conceptual gap between the static program and the dynamic process, to make the correspondence between the program (spread out in text space) and the process (spread out in time) as trivial as possible.
The GOTO statement as it stands is just too primitive; it is too much an invitation to make a mess of one's program.