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

Reply via email to