I lifted this from a Linux Voice tutorial written by Juliet Kemp. I left behind all of the gory details of early mainframe programming to refocus Miss Kemps words on Grace Hopper. Grace was an amazing lady in a male dominated world.
Grace Hopper, born in New York in 1906, was an associate professor of mathematics at Vassar when WWII broke out. Volunteering for the US Navy Reserve, she was assigned to the Bureau of Ships Computation Project, where she worked on the Harvard Mark I project (a calculating machine used in the war effort), from 1944–9, co-authoring several papers.
“Punch-card calculating machines
already existed, but crucially,
UNIVAC was programmable.”
In 1949, she moved to the Eckert-Mauchly Computer Corporation (later acquired by Remington Rand, and later still by Unisys), and joined the UNIVAC team. UNIVAC, which first ran in 1951, was the second commercially available computer in the US, and the first designed for business and admin rather than for scientific use. That meant that it was intended to execute many simple calculations rapidly, rather than performing fewer complex calculations. Punch-card calculating machines already existed, but crucially, UNIVAC was programmable. The first customers included the US Census Bureau and the US Air Force (who had the first on-site installation, in 1952). In 1952, as a promotional stunt, they worked with CBS to have UNIVAC predict the result of the 1952 US presidential election. It correctly (and quickly!) predicted an Eisenhower win, beating out the pollsters who had gone for Stevenson.
Grace Hopper created the first operational compiler, in 1952, while working on the UNIVAC project. Initially, no one believed her. “I had a running compiler and nobody would touch it,” she said later. “They told me computers could only do arithmetic.” In fact, the A-0 system was more like what we would today call a loader or a linker than a modern ‘compiler’. For A-0, Hopper transferred all her subroutines to tape, each identified with a call number, so that UNIVAC could find it. She then wrote down the call numbers, and any arguments, and this was converted into machine code to be run directly. Effectively, A-0 allowed the programmer to reuse code and to write in a more human-readable way, and get the machine to do more of the work.
Famously, Grace Hopper popularized the term “debugging” about computer programs, after an error while working on the Mark II in 1947 was tracked down to an actual bug (a moth) stuck in a relay. The term “bug” had been used before in engineering, but Hopper brought it into popularity.
find Linux Voice here, or go here to subscribe to Linux Voice.