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.2 required=5.0 tests=BAYES_00,INVALID_MSGID, 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: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public From: ell@access.digex.net (Ell) Subject: Re: Software landmines (loops) Date: 1998/10/02 Message-ID: <361548d5.1087824@news.erols.com>#1/1 X-Deja-AN: 397194820 Content-Transfer-Encoding: 7bit References: <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> Content-Type: text/plain; charset=us-ascii X-Complaints-To: abuse@rcn.com X-Trace: winter.news.erols.com 907367789 3504 207.172.60.203 (2 Oct 1998 22:36:29 GMT) Organization: Universe Mime-Version: 1.0 Reply-To: ell@access.digex.net Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-10-02T00:00:00+00:00 List-Id: "John I. Moore, Jr." <70672.1744@compuserve.com> wrote: >Robert C. Martin wrote in message <6v2nr9$t8l$1@hirame.wwa.com>... >> >>The question that the post was addressing had to do with the definition of >>structured programming. A mid exit loop does not fall within the bounds >>defined by structured programming because the loop body does not then have >> a single entry and a single exit. >... Whose definition are you using for structured >programming? Some of the earliest articles and books on structured >programming were written by Harlan Mills of IBM, and he always >defined a loop with a middle exit as an integral part of structured >programming. He called it a do-while-do loop. I've seen no structured programming literature which said that a code module must only a single entry and a single exit (se/se). I've seen quotes from structured literature about flowchart pages having a single entry and single exit point, but nothing about for example about having to navigate a loop using se/se. Very significantly, according to Dijkstra, one of chief creators of structured programming, the definition of structured programming has a modelling aspect which is even more important than any maxims about code control flow navigation. Or rather the navigation issue was resolved in terms of a new more productive modelling paradigm. This is evidenced by Dijkstra's remark that the first thing he thinks of when structured programming is mentioned is "abstraction"--in particular hierarchies of abstraction. (Art of Literate Programming, D Knuth, CLSC, pg 72). "Abstraction" meaning as Webster says: The act of separating the inherit qualities or properties of something from the actual physical object or concept to which they belong. Ie. separating the contextually essential, logical aspect of an object from the physical object itself. This indicates that to cure the spaghetti ills of programming at the time, Dijkstra, went beyond mere matters of navigation to modelling. Dijkstra advocated disciplined navigation between well designed (loosely coupled, highly cohesive) abstractions--with the abstractions being our present day functions/routines/procedures. Here we have another advance in software engineering based on modelling, just as modelling is the key benefit of OO to present day software engineering. Dijkstra took a "giant's" step into modelling rather than advocate a technocratic, navigation maxim of questionable value (single entrance/single exit), Elliott -- :=***=: VOTE NO TO MODERATION! :=***=: CRAFTISM SHOULD NOT USE USENET RESOURCES TO AVOID CRITICISM! MODERATORS SHOULD NOT HAVE LIFETIME TERMS! :=***=: Objective * Pre-code Modelling * Holistic :=***=: Hallmarks of the best SW Engineering Study Phony Crafite OO vs. Genuine OO: http://www.access.digex.net/~ell Copyright 1998 Elliott. exclusive of others' writing. may be copied without permission only in the comp.* usenet and bitnet groups.