Possible urban legend: FORTRAN

Back before FORTRAN 90 introduced the “IMPLICIT NONE” statement, the ability to “create” new local variables in the middle of a subroutine caused considerable distress. If you misspelled one of your variable names, the compiler wouldn’t report it as an error, it would just create an “implicitly declared” variable right there in the middle of the statement. This made debugging a REAL nightmare – both literally and figuratively, because “debugging” starts with a “D” and all implicit variables that don’t start with I through N are considered to be of type REAL. <rimshot>

Another problem with FORTRAN in the pre-FORTRAN-90 days was that spaces were ignored. “GOTO” and “GO TO” and, for that matter, “GOT O”, were all interpreted the same way by the compiler.

Thus it was, inevitably, that an acquaintance of mine related the following anecdote:

Remember the first-ever launch of the Space Shuttle Columbia back in – what was it, 1981? Yeah, 1981. Remember? The first launch attempt had to be aborted due to a “computer glitch”. Well, the actual glitch was caused by FORTRAN code that looked like the following:


      DO 10 I = 1. 20
      ... do some stuff dependent on I
   10 CONTINUE

See the problem? That “.” in the first line should have been a comma. Because it was a period, the compiler interpreted the line to mean that a new implicit variable, named DO10I (of type REAL) was created, and the value 1.20 assigned to it.

Later, I heard the same story about a totally different “famous” computer glitch. (Maybe that big AT&T outage about a decade or so ago.) I smelled a rat. Is this story completely made up? Did a big problem ever get caused by such a DO10I syntax error? Has anybody else heard this story? It ain’t on Snopes.

tracer, I was also told that anecdote in a programming class. But this site says it is an urban legend; the error did occur in a program but was detected during simulations, before the error caused any damage to a spacefaring vehicle.

Hmmm … in browsing the links in the article just posted, I came across http://catless.ncl.ac.uk/Risks/8.75.html#subj1.1, in which the omission of a “bar” over (or under?) an R in a formula did cause the loss of the Mariner I space probe during launch. (But this was a problem in the pen-and-paper mathematical notation, not its conversion into executable code.)

Arthur C. Clarke apparently called this glitch “the most expensive hyphen in history.” Kinda ironic when you consider that Mariner I cost only a paltry 18-and-a-half million dollars.