|Margaret Hamilton - Apollo and Beyond|
|Written by Sue Gee|
|Monday, 05 September 2016|
Page 1 of 3
Margaret Hamilton was lead developer for the team that wrote the programs that landed men on the moon and has devoted a career to error detection and recovery. She coined the term "software engineer" to gain recognition for the work done by programmers and is a role model as a woman in a male dominated environment.
So how at 20-something did Margaret Hamilton get to be the Director of the Software Engineering Division of the MIT Instrumentation Laboratory (later the Charles Stark Draper Laboratory, CSDL)?
Luckily we have the benefit of Margaret Hamilton's NASA Home Page and many interviews in which Hamilton tells her story in her own words.
Margaret Hamilton at the MIT Museum in 2015, at the age of 79.
Born Margaret Heathfield on August 17, 1936 in Paoli, Indiana, USA, in 1958 she gained a B.A. in mathematics with a minor in philosophy from Earlham College, a Quaker liberal arts school. After graduation she postponed her own postgraduate studies in abstract maths for 3 years in order to support her husband while he worked towards his degree at Harvard Law. This led to her embarking on a career in software that was more by chance than design.
The start of this came when in 1959, having moved to Cambridge Massachusetts, she took an interim position in MIT's meteorology department with Professor Edward N Lorenz, known for the Lorenz effect, chaos theory and the butterfly effect.
The task Hamilton was given was to develop software for predicting weather using LGP-30 and the PDP-1 computers. In an interview for Futurism, Jolene Creighton asked her about this early programming experience and Hamilton explained:
The very first languages I programmed in were hexadecimal and binary. With Lorenz’s guidance, I learned how to build software (in hexadecimal) and how to take advantage of the LGP30 computer hardware to most benefit the software’s performance. Lorenz encouraged me to design and build what would today be called a ‘mini operating system’ for my applications.
Then from 1961 to 1963 Hamilton worked on SAGE (Semi Automatic Ground Environment). This was a natural transition as the SAGE Project was an extension of Project Whirlwind, the aim of which was to create a computer system that could predict weather systems and track their movements through simulators. SAGE built on this foundation to create a system for anti-aircraft air defense from potential Soviet attacks during the Cold War. The system at Lincoln Labs, hidden deep inside caverns,was huge and was the first to have realtime computers. Hamilton's role here was to write software for the XD-1, the first AN/FSQ-7 computer.
SAGE appears to have had its own initiation procedure as Hamilton later recalled:
What they used to do when you came into this organization as a beginner, was to assign you this program which nobody was able to ever figure out or get to run. When I was the beginner they gave it to me as well. And what had happened was it was tricky programming, and the person who wrote it took delight in the fact that all of his comments were in Greek and Latin. So I was assigned this program and I actually got it to work. It even printed out its answers in Latin and Greek. I was the first one to get it to work.
The SAGE project also set Hamilton on her career-long mission to discover what causes errors and how to avoid them, as she revealed in the Futurism interview:
SAGE was one of the first jumping off points where I became interested in the subject of software reliability. When the computer crashed during the execution of your program, there was no hiding. Lights would be flashing, bells would be ringing and everyone, the developers and computer operators, would come running to find out whose program was doing something bad to the system.
The only information the computer provided to the developer for debugging his program was to light up a very large register on the console of the computer, showing the address where the program halted.
When my program was running, it always sounded like the sound of waves on a beautiful seashore, so we all referred to it as the ‘seashore program.’ Until one night at 4 am in the morning when I got a call from one of the computer operators who said something terribly wrong has happened with your program. When I asked him how he knew, he said ‘it no longer sounds like a seashore!’ Now, we had a new way to debug, using sound!
|Last Updated ( Saturday, 20 July 2019 )|