On Sat, 28 Feb 2004, Peter Shenkin wrote [of the Ariane 501 failure]:
> Of course, that never would have happened had they written it
> in Fortran. :-)
Well actually that's true in this case: the conversion of an over-range
floating point number to integer*2 would, on most Fortran run-time
systems, not have caused an exception. It was the exception which, having
no handler, forced each attitude controller to shut down and hand over to
the other. When they both failed, the rocket went off course. No
exception: no handover, it would have functioned as required.
Not that I'm advocating using Fortran to control rockets, you understand,
but in some cases simplicity is better than complexity.
"You know when you have achieved perfection in design, not when you have
nothing more to add, but when you have nothing more to take away"
- Antoine do Saint-Exupery.
--
Clive Page,
Dept of Physics & Astronomy,
University of Leicester, U.K.
|