Fortran bug Urban LegendIn an earlier version of my Fortran language entry, I repeated the "well-known" Fortran bug that lost a spacecraft: If a variable is not declared, it is implicitly given a type based on its first letter (I to N being integers, the rest floats). This led to the famous case of losing a spacecraft, when DO I = 1.100 was used instead of DO I = 1,100. The former statement assigns 1.100 to the variable DOI (spaces being ignored in names!), the latter is the start of a DO-loop. However, on 25 February 1999, I received the following email from Brian Blank, which indicates that this well-known 'fact' is just an Urban Legend after all (which shows that I am just as guilty of repeating ULs as anyone): Ordinarily I don't attempt to correct the web one fact at a time but a few days ago I received an email from a Belgian Scot who discovered one of my publicly accessible private pages via Alta Vista's infernal spider. It turns out that one of my computer factoids, the veracity of which I had confirmed in the Encyclopedia Britannica and the New York Public Library Science Desk Reference, was wrong. I learned some interesting things in verifying my correspondent's claim and feel quite content that I am no longer propagating a myth. |
|