comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Carter <jeffrey.carter@boeing.com>
Subject: Re: an infinate loop
Date: Fri, 13 Jul 2001 17:01:22 GMT
Date: 2001-07-13T17:01:22+00:00	[thread overview]
Message-ID: <3B4F2962.25BB60FF@boeing.com> (raw)
In-Reply-To: j7D37.18227$Kf3.236286@www.newsranger.com

Ted Dennison wrote:
> 
> For another, most of your "exit" statements are all at the tops of the loops. In
> those cases you should probably reverse the test logic and use "while" loops
> instead.

This is bad advice. The form that uses positive logic is best.

exit when End_Of_File;

uses positive logic, and is better than

while not End_Of_File loop

which uses negative logic. All of the exits in this program use positive
logic. In general, exit tends to use positive logic and while tends to
use negative logic.

However, when exiting from nested loops, it is a good idea to name your
loops and use the loop names on the exit statements and the end loop
statements. This badly formatted program is hard enough to understand
without trying to figure out which end loop corresponds to which exit.

At the "Ada Launch" (1980 Dec 10), Ichbiah, Barnes, and Firth introduced
the recently renamed Ada language (MIL-STD 1815, formerly Green, now
known as Ada 80) to the world. They said "while" was in the language
primarily to support translation from languages such as Pascal, and
advised using the "loop ... exit when" format in new code.

-- 
Jeffrey Carter



  reply	other threads:[~2001-07-13 17:01 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-07-12 21:43 an infinate loop Beau
2001-07-13  3:21 ` DuckE
2001-07-13 13:57 ` Ted Dennison
2001-07-13 17:01   ` Jeffrey Carter [this message]
2001-07-13 18:11     ` Ted Dennison
2001-07-13 22:26       ` Jeffrey Carter
2001-07-16 15:14         ` Marin David Condic
2001-07-17 17:02           ` Matthias Kretschmer
2001-07-17 17:56             ` Marin David Condic
2001-07-17 19:25               ` Ted Dennison
2001-07-19 11:38                 ` Matthias Kretschmer
2001-07-19 14:28                   ` Ted Dennison
2001-07-17 17:13           ` Warren W. Gay VE3WWG
2001-07-14 23:41       ` Darren New
2001-07-16 13:24         ` Ted Dennison
2001-07-16 15:19           ` Marin David Condic
2001-07-13 20:40     ` chris.danx
2001-07-13 22:29       ` Jeffrey Carter
2001-07-14 14:00         ` Robert Dewar
2001-07-14 16:17           ` Negative Logic (was: Re: an infinate loop) Jeffrey Carter
2001-07-17  4:06             ` Robert Dewar
2001-07-17  4:23             ` Robert Dewar
2001-07-16  9:26           ` an infinate loop Philip Anderson
2001-07-19  9:32             ` an infinite [was: infinate] loop AG
2001-07-15 21:18   ` an infinate loop Matthias Kretschmer
2001-07-16 21:59   ` Stephen Leake
2001-07-13 16:48 ` C. Bauman
replies disabled

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