Margaret Hamilton Pioneering Software Engineer
Written by Sue Gee   
Saturday, 20 August 2016

Margaret Hamilton, who coined the term "software engineer" and was lead developer for the team that wrote the programs that landed men on the moon, turned 80 years old last week.

As CEO of Hamilton Technologies, which she founded in 1986, she is still developing USL (Universal Systems Language) which stems from her experience of the Apollo program.

 

HAMILTONRECENT

In 1986 she was an early recipient of the Ada Lovelace Award established by the Association for Women in Computing, yet despite this and the NASA Exceptional Space Act Award (2003) her name is hardly known.

It certainly isn't as familiar as those of Neil Armstrong and Buzz Aldrin, the astronauts who stepped onto the lunar surface in 1969. But, as the end of this video compiled in 2014 about the Navigation Computer designed for the Apollo missions explains, while the world was listening to Neil Armstrong's "one small step for [a] man, one giant leap for mankind" announcement Margaret Hamilton's attention was concentrated on a 1202 alarm, a computer overload error that could have resulted in the mission being aborted in its final few seconds.

It transpired that due to a "checklist error" the crew had prematurely initiated the radar system needed for leaving the moon leading to the "executive overflow condition" of the 72K on-board computer. Fortunately, due to the way in which Hamilton's team had designed the system, the software prioritized the task of landing the lunar module above all competing tasks and effectively saved the mission.

The video also shows the Hamilton dwarfed by the binders of source code she wrote for the Apollo Guidance computer and gives details of the programming process - which meant starting with pencil and paper, then punching holes in punch cards which would be processed overnight on a mainframe computer to output the source code. Once the code was considered solid, expert seamstresses, referred to as "Little Old Ladies", threaded copper wires through magnetic rings (a wire going through a core was a 1; a wire going around the core was a 0) to create rope memory.  

ropemeory

Programming was not accorded a very high priority at the beginning of the Apollo project - in fact the documents outlining the engineering requirements of the mission didn't include software in the budget.

 

hamiltonwithcode

 

In a 2014 interview, which was done by a Spanish journalist when this photo went viral, Hamilton explained how she coined the term "software engineering to gain recognition for the work she and her team were doing :

Software during the early days of this project was treated like a stepchild and not taken as seriously as other engineering disciplines, such as hardware engineering; and it was regarded as an art and as magic, not a science. I had always believed that both art and science were involved in its creation, but at that time most thought otherwise. Knowing this, I fought to bring the software legitimacy so that it (and those building it) would be given its due respect and thus I began to use the term “software engineering” to distinguish it from hardware and other kinds of engineering; yet, treat each type of engineering as part of the overall systems engineering process. When I first started using this phrase, it was considered to be quite amusing. It was an ongoing joke for a long time. They liked to kid me about my radical ideas. Software eventually and necessarily gained the same respect as any other discipline.

After Apollo, Hamilton worked on Skylab, the United States’ first space station, and some of the preliminary system software requirements for the Space Shuttle’s flight software. After leaving NASA she continued in a quest to maximize software  reliability and productivity and to further develop ideas about error prevention and fault tolerance, first with Higher Order Software (1976) and when that was bought out, with Hamilton Technologies, founded in 1986.

Hamilton Technologies continues to develop Universal Systems Language (USL) and its automated environment the (Double Oh One) 001 Took Suite based on the Development Before the Fact ideas about error prevention and fault tolerance emerging from her experience with the Apollo mission.

 hamiltonsq

Read more about Margaret Hamilton on our History section:

Margaret Hamilton Apollo and Beyond

Banner


Rust 1.82 Improves Apple Support
24/10/2024

Following Rust's six-week release cycle, version 1.82 has been released with higher level support for Apple, and a new Info subcommand for Cargo.



Amazon Adds AWS Lambda Code Editing Tool
04/11/2024

Amazon has added a new code editing option for AWS Lambda in the AWS console based on the Code-OSS, Visual Studio Code Open Source code editor.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

Last Updated ( Sunday, 20 November 2016 )