Meet Margaret Hamilton: the “Rope Mother.” When MIT was awarded the contract to design Apollo’s guidance and navigation computer, the notion of creating software to run it was an afterthought at best. In the early ’60s, computer programming was seen as an unsophisticated and undesirable task. In fact, the term “software” did not even exist (Margaret would create it to distinguish her role from those designing computer “hardware”).
A self-taught programmer, Margaret developed a sophisticated series of binary code programs the astronauts would run to get them to and from the lunar surface. Unlike modern computers, the Apollo guidance computer had two types of memory: the first could be written to and read from (what we now call RAM memory); the second was read-only. While modern computers store information on silicon chips, information had to be “written” into a series of magnetized donut-shaped pieces called cores. These cores were then threaded through a series of wires. If the wire passed through the core, the computer sensed a binary “one”, and if it went around the core, a binary “zero.” The entire assembly was called a core rope––an incredibly difficult and time-consuming contraption to build–one completely foreign to today’s software engineers.
Margaret’s guidance programming not only succeeded in getting astronauts to and from the moon, but when a computer overload threatened to scrub the first attempted lunar landing on Apollo 11, it was her software that automatically told the computer to ignore certain non-vital functions, giving it the processing power needed to focus on the actions critical for lunar landing. For this act alone, you might say that Margaret is just as responsible for the success of Apollo 11 as Neil Armstrong!