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=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID 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: Matthew Heaney Subject: Re: Software landmines (loops) Date: 1998/10/09 Message-ID: #1/1 X-Deja-AN: 399275154 Sender: matt@mheaney.ni.net References: <6qfhri$gs7$1@nnrp1.dejanews.com> <35cb8058.645630787@news.ne.mediaone.net> <902934874.2099.0.nnrp-10.c246a717@news.demon.co.uk> <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <35f51e53.48044143@news.erols.com> <6sdiav$e0g$1@hirame.wwa.com> <6sfcft$70p$1@hirame.wwa.com> <1dg8p3r.vfredh1aou58iN@n207167116191.inetworld.net> <6v2nr9$t8l$1@hirame.wwa.com> <6v39i0$fte$1@winter.news.erols.com> <6v4d5l$blb$1@hirame.wwa.com> NNTP-Posting-Date: Fri, 09 Oct 1998 00:12:22 PDT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-10-09T00:00:00+00:00 List-Id: "Robert C. Martin" writes: > Yes, Mills did make this definition. However, I am referring to the work of > Dijkstra in the late 60's and early 70's. Dijkstra was very clear about the > notion of single entry and single exit within the body of a loop. I think it's debateable whether Dijkstra was "very clear" about the a single exit means, given the popularity of this thread. Dijkstra's argument was to avoid constructions in which you could jump out of one abstraction directly into another, and to restrict oneself to "systematic sequencing mechanisms." Based on my own reading of his monograph, I would interpret "single exit" to include early returns (or loop exits), because all returns go to a single point - the point of call. > I believe that Mills' do-while-do loop is an unauthorized addition to > Dijkstra's work. I don't think Dijkstra is in the business of "authorizing" what loop constructs are allowed. Indeed, as David Gries has pointed out, in his monograph, Dijkstra nowhere defines what "structured programming" actually means.