https://www.bbc.com/news/business-55582496
After Chernobyl, a British safety audit team was invited to examine the system monitoring the operational parameters of French nuclear power stations. The audit basically went like this -
"What is your system written in?"
"C".
"You have failed the safety audit."
Any bug in the computer language C can lead to the system behaving uncontrollably, unpredictably, randomly. C has no facilities for catching errors. It does exactly what it is told to do.
Ada is a language specifically designed for developing what are called "safety critical applications" - applications where a fault could have serious safety problems. It was very cleverly designed and structured to try and eliminate the sorts of bugs that less sophisticated computer languages can let through. Unfortunately, a bug was found in its compiler - the piece of code that translates the human-friendly language into machine code. This eliminated all the advantages of the Ada language, and rendered it just as unreliable as C.
The history of computing is a history of attempts to eliminate human error in calculating and information processing, but the more powerful our systems are, the more they have the potential to amplify the effects of errors when they are present.
No comments:
Post a Comment