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: 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: "Frank Adrian" Subject: Re: Software landmines (was: Why C++ is successful) Date: 1998/08/31 Message-ID: #1/1 X-Deja-AN: 386549269 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> X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 Organization: First DataBank NNTP-Posting-Date: Mon, 31 Aug 1998 15:32:57 EDT Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-08-31T00:00:00+00:00 List-Id: Matthew Heaney wrote in message ... >A scanner is also another abstraction best implemented using gotos. A scanner is a well enough defined abstraction with enough well constructed (and fast) implementations around that anyone trying to write his own from scratch should be censured. [SNIP (of things that I agree with for the most part)] >Use gotos when they make sense. One time they do make sense is to >implement a state machine, which requires transitions between states. >This is typical for tasks and scanners. Again, the tasks you mention should be subsumed by code generators or higher-level design packages, not wasting programmers' time wondering if they got the goto in (and pointing to) the right place. Now the question is whether or not all "proper" uses of goto can be subsumed by higher-level constructs (such as exception mechanisms, loop continuations or breaks, etc.) which have much less of a cognative load than a fully general and unstructured goto. I tend to think so. -- Frank A. Adrian First DataBank frank_adrian@firstdatabank.com (W) franka@europa.com (H) This message does not necessarily reflect those of my employer, its parent company, or any of the co-subsidiaries of the parent company.