From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public From: rgardner@nyx.net (Ray Gardner) Subject: Re: Software landmines (loops) Date: 1998/09/09 Message-ID: <905305154.719038@iris.nyx.net> X-Deja-AN: 389235385 X-Disclaimer: Nyx is a Free Public Access Internet Service: http://www.nyx.net Nyx is not responsible for the actions of its users. Our AUP / Free Speech Policy are at http://www.nyx.net/policies/ Direct complaints to abuse@nyx.net References: <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <35f51e53.48044143@ <904556531.666222@miso.it.uq.edu.au> <6sgror$je8$3@news.indigo.ie> <6sh3qn$9p2$1@hirame.wwa.com> <35ece7ee.1489912@news.erols.com> <905134925.147581@iris.nyx.net> <35f34bbd.7903825@news.erols.com> <6t1aqm$l2i$1@nnrp1.dejanews.com> X-Post-Path: iris.nyx.net!rgardner@nyx10.nyx.net Organization: random access Reply-To: rgardner@acm.org NNTP-Posting-Date: Tue, 08 Sep 1998 19:39:14 MDT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Originator: rgardner@nyx10.nyx.net (Raymond Gardner) Date: 1998-09-09T00:00:00+00:00 List-Id: dewarr@my-dejanews.com wrote: > In article <35f34bbd.7903825@news.erols.com>, > ell@access.digex.net wrote: > > rgardner@nyx.net (Ray Gardner) wrote: > > > > >.... Of course my main point was > > >that the founder(s) of SP did limit the control structures to > > >single-entry / single-exit structures, and that still stands. > > > > And your proof is what? > > > > Elliott > > > > There is no "founder" of structured programming. The > idea of structured programming is an old one, well known > to anyone writing Algol-60 from very early on. Various > people have produced specific rules concerning their > idea of how to adapt this principle to particular > programming languages (e.g. the "structured period" > for ANSI-74 COBOL), but I would not say it is reasonable > to regard anyone as "founding" structured programming. > > EWD's letter on gotos to the ACM was simply noting a > general principle well known to any student algol-60 > programmer for years. it is true that Fortran had > made it much more difficult, though not impossible, > for people to understand the basic idea of writing > code that has a clear control flow structure. Nice to get a response from you, Professor Dewar. (I assume that's you of Indirect Threaded Code / Spitbol / GNAT fame. Say, did Chuck Moore come up with ITC on his own or get it from your paper?) You're certainly better able than I to say what was or wasn't "well known to any student algol-60 programmer" for years before 1968. My collection of literature barely reaches back that far, so I don't have ready access to, say, the algorithms published in CACM in the mid-1960s. (I recall you lamenting the passing of that.) I do have one item at hand: the book _Programming Languages_ edited by F Genuys (Academic Press, 1968) edited by F Genuys, containing some material presented at the 1966 NATO Summer School in Programming. It includes the classic EWD paper on "Co-operating Sequential Processes" and a lengthy set of notes on "Compiler Writing Techniques" (L. Bolliet), and both contain a fair amount of Algol code, replete with plenty of goto statements. Given that EWD and Bolliet were well beyond the "student programmer" stage, I wonder if some of the ideas of SP were not as well-known as you recall. It is certainly true that EWD was not the first to advocate avoidance of goto statements; he said as much in his famous letter. Knuth (in Structured Programming with go to Statements) notes that EWD was "experimenting" with a goto-less Algol in the mid-60s, and quotes him saying that avoiding goto was "difficult ... we are so familiar with the jump that it requires some effort to forget it!". Knuth also finds Naur (editor of the Algol-60 report) questioning the goto in 1963, the earliest printed reference to avoiding goto Knuth found. I'm sure many good Algol (and other language) programmers used good judgment in refining and structuring their code in the 1960s. Does that mean they practiced SP? Or that SP had no founder? Seems to me that depends on how you define SP. Knuth says that Dijkstra's paper "Structured Programming" in _Software Engineering Techniques_ (Report on the 1969 Rome conference, NATO Science Committee) gave SP its name. Of course EWD's more widely known 1972 "Notes on Structured Programming" in the little black book is generally accepted as having really kicked off the SP "revolution". After that, there was a veritable flood of papers, letters, books and courses on SP. So maybe not all the ideas were EWD's alone or original with him; the emphasis on the limited use of control structures was not new, but what about the explicitness of the motivation for it? EWD was interested in developing programs that he could convince himself and others were correct. Maybe others had the same idea but didn't express it explicitly and convincingly. I think that if you agree that there is any such thing as SP, you really have to credit EWD with naming it and describing it. In fact, I would argue that those two papers _are_ the definition of SP. If ideas are just sort of "in the wind" for a few years, and then someone pulls them together and starts a whole field of people thinking about them, you don't consider him the founder? I do.