Years before software programmers sat poised over their keyboards in sleek, expansive tech offices, women built the foundations of modern computer programming— in less-than-glamorous conditions.
ADVERTISEMENT
ADVERTISEMENT
For much of its early history, programming was considered repetitive and tedious work. Many historians have shown that it was women who did much of this work, according to the Smithsonian American Women’s History Museum.
As Women’s History Month draws to a close, we look at the innovations made by women that have shaped computer science, from writing the first computer program to weaving the software that took American astronauts to the Moon.
The first computer program
While translating an article written by mathematician Luigi Menabrea on the Analytical Engine — generally considered the first computer — British mathematician Ada Lovelace found herself correcting his notes instead. And writing the first computer program.
Lovelace, the daughter of the poet Lord Byron, had an affinity for mathematics since childhood. Her talents led her to a close professional collaboration with the mathematician and inventor Charles Babbage, particularly on his Analytical Engine.
Translating Menabrea’s article in 1843, Lovelace’s extensive footnotes were her decisive contribution to computer science. In these notes, she was the first to suggest that a machine could manipulate not only numbers and produce a mathematical output, but also manipulate symbols.
The Analytical Engine “might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine,” she wrote in one of her translator’s notes.
Lovelace also suggested that numbers could be used to represent more than just quantities and illustrated the scope of a machine’s role beyond calculation. She outlined the possible translation of “sounds” and “musical composition” into operations that a machine can then use to “compose elaborate and scientific pieces of music of any degree of complexity or extent,” she wrote in her notes.
The mathematician’s calculations and comments nearly tripled the length of the original article and comprised the first set of instructions for computers. Lovelace’s notes later informed British mathematician and logician Alan Turing during his code-breaking work in the Second World War.
The compiler and talking to machines
For years, people laboriously wrote computer programs as long strings of numbers so computers could understand them.
Then, in 1952, computer scientist and former United States naval officer Grace Hopper created the compiler – a program that converts code from a high-level programming language in which it is written (Java and Python are a few modern examples) to low-level languages that a computer can understand (like binary code).
This compiler, called A-0, translated symbolic mathematical code into machine-readable code and was key in the development of modern programming languages.
Hopper’s compiler was a product of years of effort to simplify computer programming.
While working on Mark I – the first large-scale automatic calculator — during the Second World War, Hopper noticed some computations were used repeatedly in a single calculation and she created a small archive of commonly used pieces of code.
This birthed the modern concept of subroutines — small sections of code written within a larger program — that perform tasks which may need to be done multiple times in the main program. Subroutines save time as the code has already been written and tested.
Hopper’s A-0 compiler, developed years after the war, allowed users to code the outlines of a program in simplified language. Hopper had been steadily adding to her archive of subroutines, which she put on a tape and assigned call numbers to. When a user would lay out the program they needed, the compiler would automatically locate the required subroutines on the tape and arrange them.
Hopper went on to help develop one of the earliest high-level English-based programming languages: COBOL (Common Business-oriented Language). She helped design and develop compilers for it.
With A-0 and COBOL, Hopper made it easier to talk to machines.
Fine-tuning the modern GPS
American mathematician Gladys West’s work is responsible for the accuracy of the modern Global Positioning System (GPS) — a technology that is near-ubiquitous today, used by tourists, taxi drivers, and pilots alike.
Upon joining the US Naval Proving Ground in 1956, being the second African-American woman to do so at the time, West led a group of analysts who used data from the satellites’ sensors to calculate the shape and size of the Earth and the orbital routes around it.
These calculations are the basis for the flight paths plotted by GPS satellites today.
West’s work went unrecognised until 2018, when she was given the US Air Force’s Space and Missiles Pioneers award. In 2021, she became the first woman to win the Prince Philip Medal, awarded by the United Kingdom’s Royal Academy of Engineering.
Weaving software to go to the Moon
In a facility just outside of Boston, US, women weavers stored the software instructions for the Apollo Missions in a long, wiry ‘rope.’
American computer scientist and software programmer Margaret Hamilton led software development and production for the United States’ Apollo Missions, and her work was essential to the six missions to the Moon between 1969 and 1972.
Under her leadership, the team found an ingenious way to store computer programs for the Apollo Guidance Computers: they wove them into a copper rope.
Computers store information in binary code,a sequence of ones and zeros. The memory of modern computers usually stores this information on small silicon chips. At the time of the Missions, this information was stored by magnetising doughnut-shaped cores.
A wire would be passed through the hole to represent a binary one, or bend around the core, bypassing the hole, to represent a zero. This technology was called core-rope memory.
During the Apollo Missions, once a computer program had been written, translated into code, and punched on paper cards, or punch cards, the code was sent to a facility where women, usually formerly employees at textile mills, would weave the copper wires and cores into a long rope to store large amounts of code.
Aside from adopting this ingenious storage solution, Hamilton’s main focus was designing software to detect system errors and recover software in the case of a computer crash, which ended up being crucial to the Apollo 11 mission that successfully landed on the Moon.
“The software experience itself (designing it, developing it, evolving it, watching it perform and learning from it for future systems) was at least as exciting as the events surrounding the mission,” Hamilton told MIT News in 2009, reflecting on her experience with the Apollo Missions.
“Looking back, we were the luckiest people in the world; there was no choice but to be pioneers; no time to be beginners.”
