Access the full text.
Sign up today, get DeepDyve free for 14 days.
D. Cooper (1966)
The Equivalence of Certain ComputationsComput. J., 9
C. Hoare (1973)
Hints on programming language design.
T. Hoare (1972)
Prospects for a Better Programming LanguageState of the art report, 7
T. Cheatham, B. Wegbreit (1972)
A laboratory for the study of automating programming
(1973)
A - h i
(1971)
Proof of a program: FIND
M. Wilkes (1973)
The Dynamics of PagingComput. J., 16
N. Wirth (1971)
Program development by stepwise refinementCommun. ACM, 14
N. Falconer (1973)
Structured ProgrammingNature, 244
H. Mills (1975)
How to write correct programs and know it
R. Lipton, S. Eisenstat, R. DeMillo (1975)
The complexity of control structures and data structuresProceedings of the seventh annual ACM symposium on Theory of computing
(1974)
Verification techniques for a hierarchy of control structures
Martin Hopkins (1972)
A case for the GOTO
E. Ashcroft, Z. Manna (1971)
The Translation of 'Go To' Programs to 'While' Programs
(1968)
Go to statement considered harmfulThere are two instances of pages 147-148 in this volume; the second 147-148 is relevant here
P. Naur (1966)
Program translation viewed as a general data processing problemCommun. ACM, 9
(1972)
The psychology of @BULLET 801 improved prograr~ing: perf~mance
E. Lohse, R. Smith (1965)
A Correspondence Between ALGOL 60 and Church's Lambda- Notation: Part I*
Edsger Dijkstra (1960)
Recursive ProgrammingNumerische Mathematik, 2
Mark Rain, P. Holager (1973)
The present most recent final word about labels in MARYACM SIGPLAN Notices, 8
W. Wulf, R. Johnsson, C. Weinstock, Steven Hobbs, C. Geschke (1980)
The Design of an Optimizing Compiler
Z. Manna, R. Waldinger (1971)
Toward automatic program synthesisCommunications of the ACM, 14
E. Dijkstra (1971)
Ewd 316: a short introduction to the art of programming
E. Wegner (1973)
Tree-structured programsCommun. ACM, 16
(1974)
Computing Surveys
O. Dahl, E. Dijkstra, C. Hoare (1972)
Structured programming, 8
H. Strong (1970)
Translating recursion equations into flow chartsProceedings of the second annual ACM symposium on Theory of computing
S. Gill (1965)
Automatic computing: its problems and prizesComput. J., 8
The (1972)
250, 1
December 1~q4 i @BULLET Donald E. Knuth [There is a bug in the flowchart. The arc labeled "2" from the box labeled
(1973)
Iosophy of programruing Lecture notes published by Math. Inst., Tech. Univ. of Munich
D. Knuth (1971)
An empirical study of FORTRAN programsSoftware: Practice and Experience, 1
P. Schneck, E. Angel (1973)
A FORTRAN to FORTRAN Optimising CompilerComput. J., 16
(1965)
AND S ~ OWDON , R . " An experiment in structured programming , " BIT 12 , 1 ( 1972 ) , , ~ 8 ~ - 5 ~ . , , _ . , [ 36 ] HOARE , C . A . R . Quicksort
D. Knuth (1972)
George Forsythe and the development of computer scienceCommunications of the ACM, 15
E. Dijkstra (1968)
Letters to the editor: go to statement considered harmfulCommun. ACM, 11
E. Dijkstra (1965)
Solution of a problem in concurrent programming control
P. Landin (1966)
The next 700 programming languagesCommun. ACM, 9
D. Knuth (1959)
RUNCIBLE—algebraic translation on a limited computerCommun. ACM, 2
T. Hull (1973)
Would you believe structured Fortran?ACM Signum Newsletter, 8
(1970)
Computer aided software design
P. Henderson, R. Snowdon (1972)
An experiment in structured programmingBIT Numerical Mathematics, 12
(1971)
Prog~nuning without the goto Information ~Pror~ssing 71
(1974)
In m e m o r i a m
S. Kleene (1951)
Representation of Events in Nerve Nets and Finite Automata
H. Mills (1972)
Mathematical foundations of structured programming
(1971)
Top-down programming in @BULLET large systems," in Debugging techniques in large systems
J. Darlington, R. Burstall (1973)
A system which automatically improves programsActa Informatica, 6
T. Cheatham, B. Wegbreit (1899)
On a laboratory for the study of automating programming
N. Wirth (1968)
PL360, a Programming Language for the 360 ComputersJ. ACM, 15
E. Dijkstra (1968)
A constructive approach to the problem of program correctnessBIT Numerical Mathematics, 8
W. McKeeman, J. Horning, D. Wortman (1970)
A compiler generator
J. McCarthy (1959)
Recursive functions of symbolic expressions and their computation by machine, Part ICommunications of the ACM, 3
(1973)
Revolution in @BULLET rogranmaing
C. Böhm, G. Jacopini (1966)
Flow diagrams, turing machines and languages with only two formation rulesCommun. ACM, 9
D. Barron (1969)
Recursive Techniques in Programming
NAUR , PETER . " Go to statements and good Algol s tyle
(1974)
Loops with normal and abnormal exi ts
N. Wirth (1967)
On certain basic concepts of programming languages
Improved organization for procedural languages
W. Peterson, T. Kasami, N. Tokura (1973)
On the capabilities of while, repeat, and exit statementsCommunications of the ACM, 16
F. Bauer (1975)
Appendix: a philosophy of programming
J. Backus, F. Bauer, Julien Green, C. Katz, J. McCarthy, A. Perlis, H. Rutishauser, K. Samelson, B. Vauquois, J. Wegstein, A. Wijngaarden, M. Woodger (1960)
Report on the algorithmic language ALGOL 60Numerische Mathematik, 2
W. Wulf (1972)
A case against the GOTOACM SIGPLAN Notices, 7
D. Cooper (1967)
Böhm and Jacopini's reduction of flow chartsCommun. ACM, 10
December 1974 Structured Pregramming with go to Statements
E. Dijkstra (1972)
The humble programmerCommun. ACM, 15
P. Landin (1965)
Correspondence between ALGOL 60 and Church's Lambda-notationCommunications of the ACM, 8
C. Hoare (1972)
A note on the for statementBIT Numerical Mathematics, 12
W. Wulf (1971)
Programming without the Goto
(1974)
Xerox Pale Alto Research Center, Pale Alto
(1973)
Holon programming: A survey Universite de Liege, ~ervice Informatique
Review of D. D. Mc- Cracken, Digital co~rputer programming
(1973)
Sorting and searching" the art of computer programming
(1972)
The execution time profile as a programming tool," in Compiler optimization
D. Knuth (1968)
The Art of Computer Programming
Jon Bartlett
Bartlett's Familiar Quotations
G. Stacey (1971)
The Role of Virtual Memory in the Handling of Application FilesInf. Process. Lett., 1
D. Knuth, R. Floyd (1971)
Notes on Avoiding "go to" StatementsInf. Process. Lett., 1
(1973)
Fundamentals of structured programming Systems and Info. Set. 555 course notes
(1973)
Nonrecursive tree traversal algorithms
Translation available from the authors, Nippon Electric Company Ltd
S. Walker, H. Strong (1973)
Characterizations of Flowchartable RecursionsJ. Comput. Syst. Sci., 7
D. Knuth, J. Szwarcfiter (1974)
A Structured Program to Generate all Topological Sorting ArrangementsInf. Process. Lett., 2
G. Bochmann (1973)
Multiple exits from a loop without the GOTOCommunications of the ACM, 16
W. Wulf, D. Russell (1971)
BLISS: a language for systems programmingCommun. ACM, 14
P. Brown (1974)
Programming and Documenting Software ProjectsACM Comput. Surv., 6
S. Kosaraju (1973)
Analysis of structured programsProceedings of the fifth annual ACM symposium on Theory of computing
F. Musk (1966)
One Man's Meat: Part I - The Uses of AdversityComput. J., 9
(1962)
Computer J
D. Schorre (1964)
META II a syntax-oriented compiler writing languageProceedings of the 1964 19th ACM national conference
E. Satterthwaite (1972)
Debugging tools for high level languagesSoftware: Practice and Experience, 2
J. Bruno, K. Steiglitz (1972)
The Expression of Algorithms by ChartsJ. ACM, 19
J. McCarthy (1962)
Towards a Mathematical Science of Computation
(1966)
Blonde on blonde, reeord album produced by Bob John~ston
(1972)
Some notes on speeding up certain loops by software, firmware, and w '~ " hard are means, in Computers and automata , Jerome Fox lEd.f
D. Knuth (1973)
A review of Structured Programming.
W. Teitelman (1969)
Toward a Programming Laboratory
D. Knuth (1973)
Sorting and Searching
P. Naur (1972)
An experiment on program developmentBIT Numerical Mathematics, 12
C. Zahn (1974)
A control statement for natural top-down structured programming
S t r u c t u r e d P r o g r a m m i n g w i t h go to S t a t e m e n t s DONALD E. KNUTH Stanford University, Stanford, California 9~S05 A consideration of several different examples sheds new light on the problem of ereating reliable, well-structured programs that behave efficiently. This study focuses largely on two issues: (a) improved syntax for iterations and error exits, making it possible to write a larger class of programs clearly and efficiently without g o t o statements; (b) a methodology of program design, beginning with readable and correct, but possibly inefficient programs that are systematically transformed if necessary into efficient and correct, but possibly less readable code. The discussion brings out opposing points of view about whether or not g o t o statements should be abolished; some merit is found on both sides of this question. Fina!ly, an attempt is made to define the true nature of structured programming, and to recommend fruitful directions for further study. Keywords and phrases: structured programming, g o t o statements, language design, event indicators, recursion, Boolean variables, iteration,
ACM Computing Surveys (CSUR) – Association for Computing Machinery
Published: Dec 1, 1974
Read and print from thousands of top scholarly journals.
Already have an account? Log in
Bookmark this article. You can see your Bookmarks on your DeepDyve Library.
To save an article, log in first, or sign up for a DeepDyve account if you don’t already have one.
Copy and paste the desired citation format or use the link below to download a file formatted for EndNote
Access the full text.
Sign up today, get DeepDyve free for 14 days.
All DeepDyve websites use cookies to improve your online experience. They were placed on your computer when you launched this website. You can change your cookie settings through your browser.