Letters to the editor: go to statement considered harmful
Communications of the ACM
A generalized iterative construct and its semantics
ACM Transactions on Programming Languages and Systems (TOPLAS)
Structured Programming with go to Statements
ACM Computing Surveys (CSUR)
Multiple exits from a loop using neither GO TO nor labels
Communications of the ACM
A genealogy of control structures
Communications of the ACM
Exception handling: issues and a proposed notation
Communications of the ACM
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Proceedings of an ACM conference on Language design for reliable software
A method to expose the hidden structure of Fortran programs
ACM '74 Proceedings of the 1974 annual conference - Volume 1
A note on an expressiveness hierarchy for multi-exit iteration
Information Processing Letters
Structured transfer of control
ACM SIGPLAN Notices
Structured programming, programming teaching and the language Pascal
ACM SIGPLAN Notices
What is a flowchart loop and about structured programming
ACM SIGPLAN Notices
On extending Fortran control structures to facilitate structured programming
ACM SIGPLAN Notices
The KAIL selector: a unified control construct
ACM SIGPLAN Notices
ACM SIGPLAN Notices
The roots of structured programming
SIGCSE '78 Papers of the SIGCSE/CSA technical symposium on Computer science education
Structured programming with go to statements
Classics in software engineering
SPOT: a structured system development system
ACM '74 Proceedings of the 1974 annual ACM conference - Volume 2
Hi-index | 48.27 |
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.