Research and Advances

Multiple exits from a loop without the GOTO

Posted

For several years, there has been discussion about the use of the goto statement in programming languages [1, 2]. It has been pointed out that goto free programs tend to be easier to understand, allow better optimization by the compiler, and are better suited for an eventual proof of correctness. On the other hand, the goto statement is a flexible tool for many programmers. Most programming languages have constructs which allow the programmer to write control flows that occur frequently without the use of a goto. In particular, the language Pascal [3] contains, besides the goto, the following control structures: if-then-else, case, while-do, repeat-until, stepping loop. Wulf [4] has described the use of the construct “leave &lpargt;label⦔” in the language Bliss, where &lpargt;label⦔ is the name of a program section which is exited when the statement is executed. It is important to note that these constructs are invented to describe control flows that occur frequently in programs. They describe the flow on a higher level [5] than an equivalent construction using a goto would do.

View this article in the ACM Digital Library.

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More