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: 103376,99222a5bd46ef3c9 X-Google-Attributes: gid103376,public From: "Shmuel (Seymour J.) Metz" Subject: Re: GOTO considered necessary (reworked) Date: 1997/07/21 Message-ID: <33D3D189.1E0@gsg.eds.com>#1/1 X-Deja-AN: 259236854 References: <5nn2fm$11dk$1@prime.imagin.net> <199706121410.QAA05823@basement.replay.com> <33A0840B.1B41@sprintmail.com> <33A58C79.1C7A@sprintmail.com> Organization: EDS MS Reply-To: nospam@gsg.eds.com Newsgroups: comp.lang.ada Date: 1997-07-21T00:00:00+00:00 List-Id: John G. Volan wrote: > > A programmer has a well-defined > control structure in mind (e.g., FSA's, or loop continue), but the > language does not provide a syntax for it (although such a syntax could > easily be imagined). > > If the structure were available in the language, of course there would > be no question of using gotos for the same purpose. Barring that, gotos > can be used to _simulate_ this structure, but this will always be a > dangerous practice, because the gotos are only at best a simulation of > the actual construct the programmer has in mind. Gotos lack > "robustness"; certain important properties of the hypothetical structure > (e.g., prevention of "fall-through" between states in an FSA) cannot be > guaranteed except by programmer vigilance. Much the same could be said of any control structures; the programmer simulates the control structures that he has in mind using the control sturctures that the language provides, e.g., if, while. Those control structures "are only at best a simulation of > the actual construct the programmer has in mind." Depending on what the programmer is attempting to simulate, the goto may be safer than the alternatives. > > > I would also agree, if you said, "As a rule of thumb, if you think you > > want to use a goto, think twice." I would say that no matter what linguistic construct you use, you should think twice. But then, I have a quaint predjudice in favor of programs that work and that continue to work when they are modified. Program in haste, debug at leisure is not prudent regardless of what language constructs you use. > (Name => "John G. Volan", > Employer => "Texas Instruments Advanced C3I Systems, San Jose, CA", > Work_Email => "johnv@ti.com", > Home_Email => "johnvolan@sprintmail.com", -- Shmuel (Seymour J.) Metz Senior Software SE The values in from and reply-to are for the benefit of spammers: reply to domain eds.com, user msustys1.smetz or to domain gsg.eds.com, user smetz.