08-26-2022, 10:10 PM
(08-26-2022, 04:12 PM)dcromley Wrote:(08-25-2022, 11:39 PM)Kernelpanic Wrote: .. Oh yes, the programming language that enabled the first moon landing was not an assembler either. Margaret Hamilton:
Margaret Hamilton and the first moon landing
Thanks for that link. She is even older than I am and I've never heard of her. What a life!.
Another start: https://en.wikipedia.org/wiki/Margaret_H..._engineer)
The following lines in the article are the decisive ones - the successful first moon landing is practically due to a toddler who accidentally revealed a fundamental error in the programming while playing (Google translator only):
Since both her husband and she have ambitious career plans, she brings her 4-year-old daughter Lauren to work without further ado. While the daughter plays on the office floor, the mother sits at the table and programs to herself. But again and again little Lauren starts to fiddle with the Apollo 11 control module. A circumstance to which, among other things, the following line in the Apollo code is to be thanked.
One day, when Lauren was pressing some buttons, she suddenly crashed the entire simulation program. Margaret Hamilton is shocked and sets out to troubleshoot. It quickly turns out that the reason for the crash is that Lauren selected the program module "P01" during the flight phase. This is a part of the program that should only be executed before the start.
Hamilton goes to her superiors with this realization and warns her of the mistake. But they reply that this is not a problem. The astronauts are excellently trained, such a mistake can never happen. A few months later they are taught otherwise.
On a precursor mission to Apollo 11, Apollo 8, one of the astronauts accidentally activates "P01" during the flight phase and causes the software to crash - just like little Lauren. Hamilton and her colleagues have to search feverishly for hours for a solution to get the program running again. And they ensure that the same alarm "01521" is added - and that human errors are always taken into account when programming in the future. A school of thought that still applies to many areas of computer science today.