Profile: Grace Hopper

A US Navy Rear Admiral who helped shape the path of computer programming, Grace Hopper started out by tinkering with alarm clocks.

Born in 1906, as a child Hopper took apart seven of the devices until her mother noticed, curious to find out how they worked.

The computer scientist's thirst for understanding led her to Yale in 1930, where she earned a Master's degree in mathematics and physics, then a PhD in mathematics four years later.

Famous for having a clock running backwards on her wall, Hopper had a knack for doing things differently. She once said: "If it's a good idea, go ahead and do it. It's much easier to apologise than it is to get permission."

She also popularised the term 'computer bug', after finding an actual bug a two-inch long moth stuck inside the Harvard Mark II, a US Navy-funded experimental computer she was working on at Harvard University in 1947. Hopper pasted it into the computer's logbook.

The Mark I, which Hopper also helped build, was the working prototype that proved Charles Babbage's theoretical 'analytical engine' could indeed compute numbers and was also used to determine how to detonate the atom bomb used in the Manhattan project.

"It was 51 feet long, eight feet high, eight feet deep," she noted about the Mark I. "And it had 72 words of storage and could perform three additions a second."

But Hopper was instrumental in turning these massive machines into more than just oversized calculators her work is credited with paving the way for computer programming.

Working on the UNIVAC in the early 1950s, she built the world's very first compiler, a program that translates source code from one language into another, something people had previously thought was impossible.

"Nobody believed that," she said. "I had a running compiler and nobody would touch it. They told me computers could only do arithmetic."

In fact, they did much more, Hopper discovered. Her compiler, the A-0 System, was a set of instructions that translated mathematical source code into machine language.

Her compiler took the subroutines and arguments within source code and turned them into a language dubbed A-0 (standing for Arithmetic Language version 0), a machine code that the computer could read to execute a program.

To do this, Hopper put subroutines on tape, giving each one a call number so the UNIVAC could locate it. "All I had to do was to write down a set of call numbers, let the computer find them on the tape, bring them over and do the additions. This was the first compiler," she said.

However, it took two years for the idea to catch on; when it did, Hopper had come up with the A-2, an improved version of her compiler that was released to customers along with its source code, so they could send back improvements, proving to be an early example of the concept of open source software.

From there, Hopper went on to make computers more useful and relevant to people's everyday lives. Still working on software for the UNIVAC, in 1959 she developed B-0 (Business language version 0). Later known as FLOW-MATIC, it was the first programming language to use parts of the English language.

She explained that business data processors didn't recognise mathematical symbols, so weren't keen on using computing to help them in their work. Hopper and her team started working on a prototype that used English words instead in 1955, releasing it in 1958 before completing it the following year.

Later that same year, some of Hopper's former employees brought together her own FLOW-MATIC language with IBM's COMTRAN to come up with COBOL (Common Business-Oriented Language), which became one of the most widely used computer business languages.

Having proved she could see over the horizon in her industry, Hopper also proved prescient about the far-flung future of distributed computing, saying of the prospect of building ever larger mainframes: "In pioneer days they used oxen for heavy pulling, and when one ox couldn't budge a log, they didn't try to grow a larger ox. We shouldn't be trying for bigger computers, but for more systems of computers."

Hopper continued to serve in the US Navy Reserve until she was 60 years old, but was recalled to active duty repeatedly (between retirements) until she eventually retired in 1985, aged 79, with the rank of Rear Admiral. She died aged 85 in 1992.

Long known as "the first lady of software", President Barack Obama awarded Hopper a posthumous Presidential Medal of Freedom, the highest civilian honour, in November 2016 in recognition of her achievements.

Main image credit: public domain