Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!wuarchive!brutus.cs.uiuc.edu!usc!ginosko!uunet!nuchat!moray!siswat!buck From: buck@siswat.UUCP (A. Lester Buck) Newsgroups: comp.lang.c Subject: Re: Re^2: Oh noooooo!! Message-ID: <451@siswat.UUCP> Date: 14 Sep 89 00:09:18 GMT References: <7598@goofy.megatest.UUCP> <34566@apple.Apple.COM> <556@tigger.planet.bt.co.uk> Organization: Photon Graphics, Houston Lines: 63 In article <556@tigger.planet.bt.co.uk>, raph@tigger.planet.bt.co.uk (Raphael Mankin) writes: > > Before most readers of this new group were born, Dijkstra wrote an > article called Uncontrolled use of Goto Considered Harmful. It was > ^^^^^^ > not called 'Goto considered Harmful'. > -- > Raphael Mankin > raph@planet.bt.co.uk This is incorrect. Following the recent suggestion in this newsgroup, I pulled down my copy of "Classics in Software Engineering" (a collection of reprints) and started to read Knuth's 1974 paper _Structured Programming with go to Statements_. Knuth carefully traces the history of the goto debate, and lists three items before Dijkstra's name is mentioned. Dijkstra's first discussion of goto's was in a paper entitled "Programming Considered as a Human Activity" in 1965, also included in the above mentioned book. A few more people made comments about the desirablility of goto's, but then "The next chapter in the story is what many people regard as the first, because it made the most waves. Dijkstra submitted a short article to _Communications of the ACM_ devoted entirely to a discussion of _go to_ statements. In order to speed publication, the editor decided to publish Dijkstra's article as a letter, and to supply a new title, "Go to statement considered harmful." This note rapidly became well-known; it expressed Dijkstra's conviction that _go to_'s "should be abolished from all 'higher level' programming languages (i.e., everything except, perhaps, plain machine code).... The _go to_ statement as it stands is just too primitive; it is too much an invitation to make a mess of one's program." He encouraged looking for alternative constructions which may be necessary to satisfy all needs. Dijkstra also recalled that Heinz Zemanek had expressed doubts about _go to_ statements as early as 1959;..." The "Classics" reprint book also includes Dijkstra's "Go To Statement Considered Harmful", as well as "A Case Against the GOTO" by W. A. Wulf and "A Case for the GOTO" by M. E. Hopkins. Knuth's paper is excellent, including classic lines such as: "It is impossible to read the recent book _Structured Programming_ [by Dahl, Dijkstra, and Hoare, 1972] without having it change your life." and my favorite "At the IFIP Congress in 1971 I had the pleasure of meeting Dr. Eiichi Goto of Japan, who cheerfully complained that he was always being eliminated." Classics in Software Engineering Ed. by Edward Nash Yourdon ISBN 0-917072-14-6 Yourdon Press, 1979 -- A. Lester Buck ...!texbell!moray!siswat!buck