beginning programmers, GOTO looks like a great way to control program
flow. With one statement, program control can be moved to any line in the
code base. However, many people feel that GOTO is more dangerous than
useful. The same ability to quickly direct program flow can also create
"spaghetti code"--code that is difficult to understand and
maintain. Follow the links below to see what the experts think about the
usefulness of the GOTO command.
General Information Dijkstra
opened a can of worms when he submitted his famous letter, "GOTO
Statement Considered Harmful" to the Communications of the ACM in
1968. You can read the text of this letter on the Web at www.acm.org/classics/oct95.
Steve McConnell discusses the issue in his book, Code Complete
(Microsoft Press, 1993). The Steve McConnell Web site (www.stevemcconnell.com/books.htm)
carries an excerpt from this book. You can learn more about the use of
GOTO in an IEEE Software article called "Keep It Simple" at www.stevemcconnell.com/art.htm.
Additional Links Control
Statements At this page from the Professional Programmer's Guide
to Fortran 77, you can see how the GOTO statement fits into the context of
other program control structures. In general, the GOTO statement is
considered obsolete or deprecated in most programming languages. But as
you can see from the examples here, there are plenty of other ways to
control program execution. This
page includes a definition of GOTO, and an interesting discussion of some
good uses of GOTO.