Admiral Grace Hopper, nee Murray, developed between 1944 and 1960 the fundamental technologies that allow humans to communicate with computers:

  • subroutine libraries,
  • source code,
  • software branching,
  • debugging routines,
  • software documentation,
  • compilers


These technologies were later incorporated into all future high-level programming languages.

It is thanks to 'Amazing Grace' that computer science is what it is.

Born in 1906, she graduated from Vassar College in physics and mathematics and in 1934 earned a PhD in mathematics from Yale. He teaches mathematics to Vassar, except to resign to enlist in the navy in 1943 (thanks to a double exemption: he is in fact too frail and too old by Navy standards). The Navy assigns her to a project at Harvard University in the programming staff of MarkI, the most powerful electro-mechanical computer of the time. The group, headed by Howard Aiken, is mainly concerned with calculating missile trajectories.

MarkI is a beast 18 meters long and 2,5 high, weighs 5 tons and consists of 750.000 parts (relays, switches, rotating parts ..). It is able to compute three operations per second (3 Hz), it is the first general purpose computer and it is programmable. Mark I programming is Grace's job, who has obviously never seen a computer in her life.

But the lady is very smart and learns quickly, also because she immediately understands that to program Mark you have to learn how to know the hardware well. In fact, programming is done in machine language (a tedious task that leads to making mistakes) based on binary code instructions and manual hardware reconfigurations. There are no manuals or documentation.

Hopper soon realizes that one continues to write the same code to do the same things: he therefore begins to accumulate software procedures and recall them when they need them, instead of rewriting them every time: they are the subroutine libraries. He also begins to write the documentation of the code he develops, so that other programmers can intervene in the work. All this simplifies the process and makes it faster.

Meanwhile, Hopper begins to think that the programming language should be as similar as possible to the natural language, and then be compiled into machine language automatically by the computer itself: they are the principles of automatic programming, compilers and source code.

After the war Grace was hired by the group working on Univac programming at EMCC.

Univac it is the first general purpose electronic computer to be marketed.

This is where Hopper develops the first real compiler (A-0) e the first compiler-based programs like MATH-MATIC and FLOW-MATIC. The basic idea is that programs are written in a more or less natural language (English, or other languages) and then converted into machine language by the compilers.

This represents a huge one simplification and democratization of software: to write code it is no longer necessary to know how to manipulate mathematical symbols in a very sophisticated way, but it is sufficient to know a limited number of commands in English.

Grace's other fundamental idea is to use computers for anything other than mathematics, for example business applications.

It is starting from this lighting that, from the end of the 50s, the COBOL (common business oriented language), which remained the most widespread programming language until the end of the 90s of the last century.

In 1966 she was retired due to age limits, but was immediately recalled and until 77 she was the head of the navy software development group, with the rank of captain. She was then promoted to admiral and retired permanently in 1986 at the age of 80.
Unhappy, she goes to work for DEC until her death, which takes place in her sleep at the age of 85.