GOTO DEPENDING certainly has its uses; and this usefulness can serve as the anchor for a more general observation.
Dijkstra's original GOTO paper did not interdict them; it suggested that thickets of GOTOs were undesirable and set out the metric that the quality of a program is inversely related to the number of GOTOs it contains. This notion was later reified by Dijkstra's epigoni into an interdiction: all GOTOs as bad in all circumstances. The result has been a game of hide-the-GOTO. Modern statement-level procedural languages contain too many constructs that are really disguised GOTOs. (The C break statement is an obvious example). They are judged to be somehow more 'structured' and less 'anarchic' than GOTOs, but they in fact lend themselves to abuse too. All instructions indeed lend themselves to misuse and, in most cases, to appropriate, beneficent use too. A focus on infantilizing programming languages in order to make it impossible for novices to misuse them has 1) impaired the expressive power of these languages and 2) failed, in the sense that the misuses they address continue unabated. John Gilmore, Ashland, MA 01721 - USA ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
