comp.lang.ada
 help / color / mirror / Atom feed
From: thp@cs.ucr.edu (Tom Payne)
Subject: Re: ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada)
Date: 1996/04/22
Date: 1996-04-22T00:00:00+00:00	[thread overview]
Message-ID: <4lgaeq$l1g@galaxy.ucr.edu> (raw)
In-Reply-To: 317a3715.38162294@nntp.ix.netcom.com

Mike Rubenstein (miker3@ix.netcom.com) wrote:
: Bradd W. Szonye <bradds@ix.netcom.com> wrote:
: 
: > Try to keep in mind the spirit of defensive programming:
: > If there's something ambiguous about the way you could implement
: > something, and one implementation is safe regardless of how you interpret
: > the ambiguity, the other implementation only works under one specific
: > interpretation, then defensive programming (and portable programming) will
: > encourage the code that works under all circumstances. Consider:
: > 
: > for (size_t i = 0; i < 10; i++) do_stuff();
: > 
: > versus
: > 
: > for (size_t i = 0; i != 10; i++) do_stuff();
: > 
: > Even though you *know* that i will never be greater than 10, even though
: > "not equals" should always stop the loop after the tenth iteration,
: > practically every programmer will write the first loop in preference to
: > the second. 
[...]
: Defensive programming is important, but coding so you'll exit a loop
: even if the hardware fails has nothing to do with it.

I'm not sure that I agree with the fundamental premise behind
defensive programming: "Don't make your program a sucker for bugs."
[p. 45, Software Tools, Kernighan and Plauger]

Granted, if its an embedded controller in a life-support system, I'd
like every routine to make every effort to muddle through even in the
presence of bizarre hardware faults, etc.  In general programs, however,
I'd like them to crash as soon as possible when something is wrong, and
for that reason I've gone back to the  i != 10  style for upper limits
on for-loops.

Tom Payne (thp@cs.ucr.edu)




  reply	other threads:[~1996-04-22  0:00 UTC|newest]

Thread overview: 177+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-04-12  0:00 ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada) Chuck Karish
1996-04-11  0:00 ` Robert Dewar
1996-04-20  0:00   ` Bradd W. Szonye
1996-04-21  0:00     ` Danette & Murray Root
1996-04-23  0:00       ` Bradd W. Szonye
1996-04-21  0:00     ` Mike Rubenstein
1996-04-22  0:00       ` Tom Payne [this message]
1996-04-22  0:00         ` Peter Seebach
     [not found] <JSA.96Feb16135027@organon.com>
1996-03-26  0:00 ` C/C++ knocks the crap out of Ada Ed Falis
1996-03-28  0:00   ` Kevin Cline
1996-03-30  0:00     ` Jon S Anthony
1996-04-01  0:00       ` Kevin Cline
1996-04-02  0:00         ` Lawrence Kirby
1996-04-02  0:00           ` ANSI C and POSIX (was Re: C/C++ knocks the crap out of Ada) David Emery
1996-04-02  0:00             ` The Right Reverend Colin James III
1996-04-03  0:00               ` David Emery
1996-04-03  0:00                 ` The Right Reverend Colin James III
1996-04-04  0:00                   ` Dan Pop
1996-04-03  0:00               ` Bill Clinton
1996-04-04  0:00             ` Lawrence Kirby
1996-04-05  0:00               ` Robert Dewar
1996-04-05  0:00                 ` Peter Seebach
1996-04-05  0:00                   ` Robert Dewar
1996-04-06  0:00                     ` Lawrence Kirby
1996-04-06  0:00                       ` Robert Dewar
1996-04-07  0:00                         ` Lawrence Kirby
1996-04-10  0:00                           ` halvin
1996-04-10  0:00                             ` Peter Seebach
1996-04-11  0:00                             ` Dan Pop
1996-04-12  0:00                             ` Chuck Karish
1996-04-12  0:00                         ` Chuck Karish
1996-04-12  0:00                           ` Robert Dewar
1996-04-13  0:00                             ` Chuck Karish
1996-04-13  0:00                               ` Robert Dewar
1996-04-13  0:00                                 ` Peter Seebach
1996-04-13  0:00                                   ` Robert Dewar
1996-04-14  0:00                                     ` Lawrence Kirby
1996-04-15  0:00                                     ` Chuck Karish
1996-04-15  0:00                                 ` Chuck Karish
1996-04-16  0:00                                   ` Robert Dewar
1996-04-16  0:00                                     ` Chuck Karish
1996-04-16  0:00                                       ` Robert Dewar
1996-04-12  0:00                     ` Chuck Karish
1996-04-11  0:00                       ` Kazimir Kylheku
1996-04-12  0:00                         ` Tom Griest
1996-04-12  0:00                           ` Robert Dewar
1996-04-12  0:00                         ` Chuck Karish
1996-04-12  0:00                           ` Kazimir Kylheku
1996-04-12  0:00                       ` Robert Dewar
1996-04-13  0:00                         ` Chuck Karish
1996-04-13  0:00                           ` David Emery
1996-04-22  0:00                         ` Mike McCarty
1996-04-22  0:00                           ` David Emery
1996-04-05  0:00                 ` Lawrence Kirby
1996-04-05  0:00                   ` Robert Dewar
1996-04-06  0:00                     ` Peter Seebach
1996-04-06  0:00                       ` Robert Dewar
1996-04-16  0:00                       ` Philip Brashear
1996-04-16  0:00                         ` Robert Dewar
1996-04-19  0:00                           ` Chuck Karish
1996-04-05  0:00               ` David Emery
1996-04-06  0:00                 ` Lawrence Kirby
1996-04-06  0:00 ` Dan Pop
1996-04-07  0:00   ` Robert Dewar
1996-04-07  0:00     ` Peter Seebach
1996-04-08  0:00       ` Robert Dewar
1996-04-08  0:00         ` Peter Seebach
1996-04-08  0:00           ` Robert Dewar
1996-04-08  0:00             ` Kazimir Kylheku
1996-04-09  0:00               ` Robert Dewar
1996-04-09  0:00                 ` Lawrence Kirby
1996-04-09  0:00                   ` Robert Dewar
1996-04-09  0:00                     ` Kazimir Kylheku
1996-04-10  0:00                       ` Robert Dewar
1996-04-10  0:00                         ` Kazimir Kylheku
1996-04-10  0:00                     ` David Emery
1996-04-09  0:00                 ` Kazimir Kylheku
1996-04-09  0:00             ` Peter Seebach
1996-04-10  0:00             ` John Marshall
1996-04-10  0:00               ` Robert Dewar
1996-04-08  0:00           ` Fergus Henderson
1996-04-08  0:00             ` Robert Dewar
1996-04-08  0:00               ` Kazimir Kylheku
1996-04-09  0:00                 ` Robert Dewar
1996-04-11  0:00                   ` Tom Wheeley
1996-04-11  0:00                     ` Kazimir Kylheku
1996-04-12  0:00                       ` Peter Seebach
1996-04-13  0:00                       ` Tom Wheeley
1996-04-09  0:00               ` Peter Seebach
1996-04-08  0:00             ` Peter Seebach
1996-04-09  0:00               ` Robert Dewar
1996-04-09  0:00               ` Fergus Henderson
1996-04-09  0:00                 ` Kenneth Mays
1996-04-10  0:00                   ` Fergus Henderson
1996-04-10  0:00                 ` Tom Payne
1996-04-09  0:00               ` Fergus Henderson
1996-04-09  0:00                 ` Robert Dewar
1996-04-09  0:00                   ` Kazimir Kylheku
1996-04-10  0:00             ` Steve Summit
1996-04-10  0:00               ` Robert Dewar
1996-04-09  0:00           ` Steve Tynor
1996-04-09  0:00             ` Kazimir Kylheku
1996-04-10  0:00             ` Chet
1996-04-10  0:00               ` Robert Dewar
1996-04-10  0:00               ` Tom Watson
1996-04-10  0:00               ` Kazimir Kylheku
1996-04-10  0:00               ` Peter Seebach
1996-04-10  0:00             ` Lawrence Kirby
1996-04-12  0:00               ` Dr S.J. Harris
1996-04-12  0:00                 ` Peter Seebach
1996-04-12  0:00           ` Gareth Rees
1996-04-08  0:00         ` Lawrence Kirby
1996-04-08  0:00           ` Szu-Wen Huang
1996-04-08  0:00             ` James McIninch
1996-04-08  0:00               ` Robert Dewar
1996-04-11  0:00                 ` Keith Thompson
1996-04-19  0:00                 ` Bradd W. Szonye
1996-04-08  0:00               ` Fergus Henderson
1996-04-08  0:00                 ` Robert Dewar
1996-04-19  0:00                 ` Bradd W. Szonye
1996-04-20  0:00                   ` Fergus Henderson
1996-04-20  0:00                     ` Bradd W. Szonye
1996-04-08  0:00               ` Szu-Wen Huang
1996-04-08  0:00                 ` Robert Dewar
1996-04-19  0:00                   ` Bradd W. Szonye
1996-04-08  0:00           ` Robert Dewar
1996-04-08  0:00             ` Kazimir Kylheku
1996-04-09  0:00               ` Robert Dewar
1996-04-09  0:00                 ` Kazimir Kylheku
1996-04-09  0:00                   ` Robert Dewar
1996-04-09  0:00                     ` Kazimir Kylheku
1996-04-10  0:00                       ` Robert Dewar
1996-04-10  0:00                         ` Kazimir Kylheku
1996-04-10  0:00                           ` Robert A Duff
1996-04-19  0:00                           ` Bradd W. Szonye
1996-04-19  0:00                             ` Robert Dewar
1996-04-23  0:00                               ` Bradd W. Szonye
1996-04-10  0:00                 ` Mike Shannon
1996-04-09  0:00                   ` Robert Dewar
1996-04-09  0:00                     ` Peter Seebach
1996-04-10  0:00                       ` Robert Dewar
1996-04-09  0:00                   ` Robert Dewar
1996-04-11  0:00                   ` Tom Wheeley
1996-04-11  0:00                     ` Robert Dewar
1996-04-11  0:00                     ` Robert A Duff
1996-04-12  0:00                       ` Tom Wheeley
1996-04-12  0:00                         ` Robert Dewar
1996-04-13  0:00                           ` Chuck Karish
1996-04-13  0:00                             ` Robert Dewar
1996-04-19  0:00                               ` Bradd W. Szonye
1996-04-19  0:00                                 ` Robert Dewar
1996-04-22  0:00                                   ` Peter Seebach
1996-04-19  0:00                                 ` David Emery
1996-04-23  0:00                                 ` Keith Thompson
1996-04-19  0:00                       ` Bradd W. Szonye
1996-04-19  0:00                         ` Robert Dewar
1996-04-23  0:00                           ` Bradd W. Szonye
1996-04-19  0:00                         ` Robert A Duff
1996-04-20  0:00                           ` Bradd W. Szonye
1996-04-08  0:00             ` Peter Seebach
1996-04-09  0:00               ` Robert Dewar
1996-04-09  0:00                 ` Peter Seebach
1996-04-09  0:00                 ` Kazimir Kylheku
1996-04-09  0:00             ` Robert I. Eachus
1996-04-09  0:00               ` Kazimir Kylheku
1996-04-09  0:00               ` Peter Seebach
1996-04-25  0:00               ` BLUE
1996-04-10  0:00         ` Tom Payne
1996-04-10  0:00         ` Matt Austern
1996-04-10  0:00           ` Robert Dewar
1996-04-07  0:00     ` Dan Pop
1996-04-07  0:00       ` Robert Dewar
1996-04-07  0:00     ` Lawrence Kirby
1996-04-07  0:00       ` Robert Dewar
1996-04-08  0:00         ` Peter Seebach
1996-04-08  0:00           ` Robert Dewar
1996-04-08  0:00             ` Peter Seebach
1996-04-09  0:00             ` Dan Pop
1996-04-09  0:00               ` James McIninch
1996-04-10  0:00                 ` Dan Pop
1996-04-09  0:00                   ` Danette & Murray Root
1996-04-11  0:00                 ` Tom Wheeley
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox