Message-Id: <4.3.2.7.0.20000805163317.00ab5570@mail.subdimension.com> X-Sender: matt DOT l AT mail DOT subdimension DOT com X-Mailer: QUALCOMM Windows Eudora Version 4.3.2 Date: Sat, 05 Aug 2000 19:21:09 -0700 To: djgpp AT delorie DOT com From: Matt Lewandowsky Subject: Re: (OFF TOPIC) Re: BREAKing out of a nested loop In-Reply-To: <8me2vh$6o1$1@plato.wadham.ox.ac.uk> References: <005a01bffd43$030a3520$0500007b AT brk> <4 DOT 3 DOT 2 DOT 7 DOT 0 DOT 20000803145250 DOT 00aa2310 AT mail DOT subdimension DOT com> <4 DOT 3 DOT 2 DOT 7 DOT 0 DOT 20000803161722 DOT 00aa8bf0 AT mail DOT subdimension DOT com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="===-=--==--==----=--=-=-----=====-----=-====--=-"; protocol="application/pgp-signature"; micalg=pgp-sha1 Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk --===-=--==--==----=--=-=-----=====-----=-====--=- Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Well, I was just being my overly-paranoid, as is my habit... We don't want someone to think goto is the cure-all end-all of C, do we? ;) It appears that we agree on our views on goto, however we just took different tacks. I've been known to use a goto here and there. Usually to short-circuit a loop if a very bad thing has happened. I generally then print an error and abort. They generally don't stay in there long in my case, because I feel that it should be possible to gracefully deal with most situations. But, we're just rehashing a dead horse. I think this thread should have died already, so this is my last post on it. However, I do hope that it has given a new programmer a few things to think about. It *has* brought up quite a few good points on how to avoid a situation where the only solution is to short-circuit. (Not graceful, IMHO.) At least it didn't degenerate into a "goto is good!", "no, it's not!" type thread. People actually made attempts to give their thoughts on the subject. This was probably a better thread than any I've seen in BASIC lists/groups on GOTO. And BASIC has more times that GOTO is justifiable. I'm impressed. :) Welp, off to more useful pursuits now. --Matt P.S. I deleted the swear word, as this email bounced. (I can't send it to the list. ;) At 02:38 AM 8/4/00, J-P wrote: >In article <4 DOT 3 DOT 2 DOT 7 DOT 0 DOT 20000803161722 DOT 00aa8bf0 AT mail DOT subdimension DOT com>, >Matt Lewandowsky wrote: > >I was just pointing out that getting into the habit of using goto makes it > >far too easy to short-circuit things that the programmer *was* clueful > >enough to do. > >My point is that goto is an undeserving bete noire of programmers. If >you're clueful enough to use malloc() instead of static arrays, use >malloc() instead of static arrays. If you're clueful enough to use goto >instead of making your code potentially tortuous to get yourself out of, >say, an error, or a NULL-pointer return or some such, then use goto. If >you're not clueful enough to do either, consider retiring to Visual Basic. > >Of course goto makes it more likely that you'll do something stupid. Using >C makes it so much likely anyway, though, that the extra tiny margin isn't >worth consigning a useful programming construct to the dumper for. > >This is going to turn into a holy war, isn't it? goto always gets this bad >press, and whilst I always try and avoid its use, I don't mind using it if >need be. You're the atheist, I'm the utilitarian :) > >Anyway, I'll put an "OFF TOPIC" up there so people can ignore it if they >want. And I'll put a quick "swear word" in here - - to stop it from >ending up in the mailboxes of people on the mailing list. I'm surprised >goto *itself* isn't a swear word :) > >J-P --===-=--==--==----=--=-=-----=====-----=-====--=- Content-Type: application/pgp-signature -----BEGIN PGP MESSAGE----- Version: PGPfreeware 6.5.3 for non-commercial use iQA/AwUBOYzLleoMko8dOmunEQJmeACfZM8jxtP03lImpXej0G0hKryAXnQAoMGN i3NXuUvzZp3nX/PSZ3UrzBv8 =XlrM -----END PGP MESSAGE----- --===-=--==--==----=--=-=-----=====-----=-====--=---