Parenthesis
Sean Kelly
sean at f4.ca
Thu Dec 28 20:49:14 PST 2006
Walter Bright wrote:
> NN wrote:
>> What about removing unuseful parenthesis in 'if', 'for', 'while' ?
>
> Because having redundancies in the syntax helps prevent bugs such as the
> following:
>
>> As told by Fred Webb in alt.folklore.computers in 1990:
>>
>> | I worked at Nasa during the summer of 1963. The group I was working
>> | in was doing preliminary work on the Mission Control Center computer
>> | systems and programs. My office mate had the job of testing out an
>> | orbit computation program which had been used during the Mercury
>> | flights. Running some test data with known answers through it, he was
>> | getting answers that were close, but not accurate enough. So, he
>> | started looking for numerical problems in the algorithm, checking to
>> | make sure his tests data was really correct, etc.
>> |
>> | After a couple of weeks with no results, he came across a DO
>> | statement, in the form:
>> | DO 10 I=1.10
>> | This statement was interpreted by the compiler (correctly) as:
>> | DO10I = 1.10
>> | The programmer had clearly intended:
>> | DO 10 I = 1, 10
>> |
>> | After changing the `.' to a `,' the program results were correct to
>> | the desired accuracy. Apparently, the program's answers had been
>> | "good enough" for the sub-orbital Mercury flights, so no one suspected
>> | a bug until they tried to get greater accuracy, in anticipation of
>> | later orbital and moon flights. As far as I know, this particular bug
>> | was never blamed for any actual failure of a space flight, but the
>> | other details here seem close enough that I'm sure this incident is
>> the
>> | source of the DO story.
Fortran is an evil, evil language.
Sean
More information about the Digitalmars-d
mailing list