Mail Archives: djgpp/2000/08/10/15:05:56
--===-=--==--==----=--=-=-----=====-----=-====--=-
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 <djgpp AT delorie DOT com> 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 - <SNIP> - 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 <http://www.pgp.com>
iQA/AwUBOYzLleoMko8dOmunEQJmeACfZM8jxtP03lImpXej0G0hKryAXnQAoMGN
i3NXuUvzZp3nX/PSZ3UrzBv8
=XlrM
-----END PGP MESSAGE-----
--===-=--==--==----=--=-=-----=====-----=-====--=---
- Raw text -