Skip to content

Grace Hopper

From reusable routines to shared languages

Grace Hopper programmed Harvard’s Mark I and led work on UNIVAC programming tools. Reusable routines, FLOW-MATIC and language standards connected her practical work with the development and use of COBOL.

A programmer who already had a useful calculation written down should not have to write it again for every job. Grace Hopper’s early tools addressed that practical problem: collect routines, identify the ones a program needs, and let the computer help assemble the work. Her later efforts helped make programming languages usable across organisations and machines.

Mathematics and the Navy

Hopper was born in New York in 1906. She studied mathematics and physics at Vassar, completed a mathematics doctorate at Yale in 1934 and taught before joining the US Naval Reserve in 1943. In 1944 she was assigned to Howard Aiken’s Harvard computing project. (IEEE career history; Computer History Museum profile.)

The Mark I was electromechanical, using physical mechanisms alongside electrical control. Hopper programmed calculations and helped prepare its substantial operating manual. In her 1980 interview she recalled colleagues keeping useful pieces of code in notebooks and copying one another’s routines. Documentation and reuse were part of making an unfamiliar machine workable. (Pantages interview, pp. 6 and 21–25.)

Getting at a library of routines

Hopper joined the Eckert-Mauchly company in 1949. Her A-0 system followed in 1952. Its “compiler” name needs its contemporary meaning: it selected and brought together routines from a library, closer to parts of later linking and loading tools than to a modern compiler translating a complete high-level language. The IEEE history makes that distinction explicitly.

A schematic shows a request naming routines, selection from a routine library, and the routines brought together for a job
A simplified picture of the library idea behind A-0. It does not show the actual input notation or claim that A-0 worked like a modern language compiler. Diagram by Code198x.

Her group went on to develop FLOW-MATIC for business data processing. Its 1958 manual shows instructions expressed with English words and named data, including comparisons, transfers and input/output. The point was to express a business task without writing every operation directly in machine code. The manual also shows how much precise syntax and data description that still required. (U-1518, printed p. 31, sample-program comparison and transfer instructions.)

A language needs agreement

FLOW-MATIC strongly influenced COBOL. The language emerged through the CODASYL committee process begun in 1959, drawing on several participants and proposals. Hopper’s leadership, her team’s language work and her advocacy contributed to that development; the specifications were a collective effort. Betty Holberton, one of ENIAC’s original programmers, also worked on programming languages and standards. (IEEE history; Pantages, pp. 32–40.)

Recalled to active Navy service in 1967, Hopper worked on language standards and validation. Agreement on a language had to extend to what different implementations actually accepted and did. She retired from the Navy in 1986 and died in 1992. (IEEE career history.)

Barbara Liskov’s data-abstraction work approaches another part of the same broad problem: how programmers can describe a task without managing every underlying detail at once. Both careers help explain the tools behind women’s contributions to computing.

Sources

Checked. Verified against primary sources and signed off by a person.