All Thinkers

Grace Hopper

Grace Brewster Murray Hopper (1906-1992) was an American mathematician, computer scientist, and United States Navy rear admiral whose work on programming languages and compilers helped turn computing from a specialist craft into a discipline ordinary people could enter. She was born in New York City to a family that encouraged her scientific curiosity from childhood — at seven, she took apart seven alarm clocks to see how they worked. She studied mathematics and physics at Vassar College and earned a doctorate in mathematics from Yale in 1934, an unusual achievement for a woman of her era. She taught mathematics at Vassar until the United States entered the Second World War. In 1943, at thirty-seven, she joined the Naval Reserve and was assigned to the Bureau of Ships Computation Project at Harvard, where she became one of the first programmers of the Mark I, one of the earliest large electromechanical computers. After the war she moved into private industry, joining Eckert-Mauchly Computer Corporation and later Remington Rand and Sperry. At these companies she developed the first practical compiler, a program that translates human-readable instructions into machine code, and led the team that created FLOW-MATIC, a predecessor of COBOL. She was recalled to naval service several times and finally retired from the Navy as a rear admiral at seventy-nine, the oldest officer in active service at the time. She continued to lecture widely until her death in 1992.

Origin
United States
Lifespan
1906-1992
Era
20th century
Subjects
Computing Programming Languages Mathematics Military Science 20th Century Technology
Why They Matter

Grace Hopper matters because she made computing usable. In the 1940s and early 1950s, programming a computer meant writing in the binary or numerical codes that the hardware directly understood — a painstaking, error-prone process accessible only to specialists who had memorised the machine's internal details. Hopper believed that this was not how programming had to work. Computers, she argued, should be able to read instructions written in something closer to human language and translate those instructions into machine code themselves. Her compiler, released in 1952, demonstrated that this was possible. Her later work on FLOW-MATIC and her influence on the design of COBOL, one of the most widely used programming languages of the twentieth century, put business data processing within reach of people who were not mathematicians. This was a democratising shift. It meant that companies, governments, hospitals, and schools could use computers without training a generation of specialists in binary arithmetic. Beyond the technical contributions, Hopper was a gifted teacher and public speaker who explained computing to thousands of people across her long career. She carried a visual aid — a length of wire representing the distance light travels in a nanosecond — to help audiences grasp the speeds at which computers work. Her combination of rigorous technical insight and public communication is rare and continues to shape how computing is taught.

Key Ideas
1
Computers can read human-like instructions
Hopper's central insight was that programming did not have to mean writing in numbers the machine understood directly. A computer could be given a program — a piece of software — whose job was to translate human-readable instructions into the binary codes the hardware used. Programmers could then write in something closer to English or ordinary mathematics, and the computer would do the translation. This sounds simple now, because it is how all modern programming works. In Hopper's time it was a radical proposal. Many people believed the machine had to be addressed in its own language. She showed, by actually building the translation programs, that this was not so.
2
The compiler: a program that writes programs
In 1952 Hopper released the first practical compiler, a program called A-0. Its job was to take instructions written in a more human-readable form and turn them into instructions the computer's hardware could execute. Every modern programming language depends on some form of this idea: you write in a language designed for humans, and a compiler or interpreter translates it for the machine. Without compilers, every program would have to be written in the particular binary dialect of the particular computer it was going to run on. Hopper's breakthrough made it possible to write a program once and run it on many different machines after translation.
3
The nanosecond and teaching by physical analogy
Hopper became famous for carrying around a length of wire about thirty centimetres long. She would hold it up to audiences and explain: this is a nanosecond — the distance light or an electrical signal travels in one billionth of a second. Computers work at these timescales, and the wire gave people a physical way to grasp what that means. She also carried a longer piece of wire representing a microsecond (a thousand nanoseconds) to show how many nanoseconds are wasted when a programmer writes inefficient code. This kind of teaching — using simple, tangible objects to make abstract ideas graspable — has influenced generations of science communicators.
Key Quotations
"It is easier to ask forgiveness than it is to get permission."
— Reported remark, various interviews, 1970s-1980s
Hopper used this saying often to describe her working style in large institutions. Getting formal approval for a new approach could take years or never arrive at all. Doing the work first, showing that it succeeded, and explaining afterwards was often the only way to introduce genuinely new ideas. This is not a recommendation for recklessness; it is a recognition that institutions often prefer familiar failures to unfamiliar successes. Hopper's willingness to proceed on her own judgement, then account for her choices once the results were visible, was part of how she managed to introduce so many innovations into established organisations.
"The most dangerous phrase in the language is, we've always done it this way."
— Lecture, various occasions, 1970s-1980s
This remark captures her impatience with tradition for its own sake. When someone defended a practice only by pointing out that it had been done the same way for a long time, she heard a warning sign rather than a reason. Established practices often make sense; some of them do not, and they continue through inertia rather than thought. Hopper's point was not that all tradition is bad but that you need a better reason to keep doing something than that you have always done it. The phrase has become a standard saying in engineering and management circles partly because it names a problem everyone encounters.
Using This Thinker in the Classroom
Scientific Thinking When introducing how computer programs actually work
How to introduce
Ask students to imagine they want to tell a computer to add two numbers. What would they say? Most will suggest something like add 5 and 3. But computers do not understand such words directly; they only respond to very specific electrical signals representing binary numbers. Introduce Hopper's insight: someone can write a program (a compiler) whose job is to translate ordinary-looking instructions into the signals the hardware understands. Programming languages exist because of this idea. Ask: why might it be important for ordinary people, not just specialists, to be able to give instructions to a computer?
Critical Thinking When discussing how to challenge practices that seem settled
How to introduce
Share Hopper's warning against the phrase we've always done it this way. Ask students to identify practices in their own school, home, or community that exist mostly because they have always existed. For each, ask: is there a good reason for the practice, or is it just inertia? When is tradition valuable, and when does it hold people back? Discuss that Hopper was not arguing against all tradition but against defending a practice only by its age. Connect to the broader skill of asking why something is done rather than accepting it as given.
Further Reading

For a short accessible biography

Kathleen Williams's Grace Hopper: Admiral of the Cyber Sea (2004, Naval Institute Press) is clear and careful.

For a shorter introduction

The Computer History Museum's online exhibit on Hopper includes photographs, video of her lectures, and overviews of her technical contributions. The Grace Hopper Celebration, an annual conference in her name, maintains public biographical and educational materials.

Key Ideas
1
FLOW-MATIC and the road to COBOL
Hopper led the team that developed FLOW-MATIC, released in 1959, which was the first programming language that used English-like commands for business data processing. A programmer could write lines such as COMPARE PRODUCT-NUMBER TO STOCK-NUMBER and the computer would carry out the comparison. FLOW-MATIC directly influenced the design of COBOL, the Common Business-Oriented Language, which became the standard for business computing for decades and still runs significant portions of banking, government, and airline systems today. Hopper did not design COBOL alone — it was a committee effort — but her earlier work and her advocacy shaped its character as a language meant to be readable by managers and administrators, not just programmers.
2
Portability: the same program on different machines
One of Hopper's deepest commitments was to the idea that a program should not be tied to one specific machine. In the early days of computing, each manufacturer's computer had its own instruction set, and programs had to be rewritten from scratch for each one. Hopper saw that this was an enormous waste of human effort and a barrier to sharing knowledge between institutions. Her compilers and the languages she helped develop were designed so that a program written for one machine could, after translation by a suitable compiler, run on another. This principle of portability is now taken for granted but had to be argued for, and her early work provided the proof that it could be achieved.
3
The bug in the machine: a literal and figurative insect
One of the most often-told stories in computing involves Hopper and her team finding a moth trapped in a relay of the Mark II computer in 1947. The moth had caused the machine to malfunction. The team removed it and taped it into the logbook with the note first actual case of bug being found. The word bug for a technical malfunction was already in use among engineers before this incident, so Hopper did not invent the term. But her group's logbook entry is the most famous physical example, and the story has helped the word spread into everyday speech. What makes the story worth telling is less the origin of the term than the glimpse it gives of what early computing was actually like: machines filled rooms, had physical parts, and could be disabled by insects.
Key Quotations
"Humans are allergic to change. They love to say, we've always done it this way. I try to fight that."
— Interview, 1980s
Here Hopper is reflecting on her long experience of introducing new approaches into established organisations. She does not say that humans are stupid or lazy; she says they are allergic — having a reaction that is involuntary and strong. The implication is that resistance to change is not a moral failure but a predictable feature of how people work, and that someone trying to introduce change has to expect the reaction and work around it. This is a humane view: it acknowledges the difficulty without treating those who resist as enemies.
"If it's a good idea, go ahead and do it. It's much easier to apologize than it is to get permission."
— Various lectures, 1970s-1980s
A longer version of her most famous remark, this one makes the logic clearer. The first step is the judgement that the idea is good. Once that judgement is made — not lightly, but honestly — acting on it is better than waiting for institutional approval. The willingness to stand behind one's own judgement is central to her picture of how technical work actually moves forward. It also requires being willing to apologise and take responsibility if the judgement was wrong. This is not a licence for doing whatever one wants; it is a principle about professional independence.
Using This Thinker in the Classroom
Cultural Heritage and Identity When examining how fields of knowledge are built by many people
How to introduce
Present Hopper's career: she worked with teams, served on committees, contributed to standards, and influenced the design of languages she did not personally author. Ask students: why do we tend to tell the story of technology as if it were made by solitary geniuses? What do we miss when we do? Discuss how committee work, teaching, and public communication — all less glamorous than lone invention — are actually essential to any successful technology. Connect to Fazlur Khan's collaboration with Bruce Graham, to Rosalind Franklin's contribution to the structure of DNA, and to the broader pattern of technological work as collective effort.
Creative Expression When teaching how to explain technical ideas to non-specialists
How to introduce
Tell students about Hopper's nanosecond wire: a length of wire that shows how far an electrical signal travels in a billionth of a second. Why was this such an effective teaching tool? Discuss how the physical object made an abstract number tangible. Ask students to think of an abstract idea from their own studies — a large distance, a small probability, a complex process — and try to invent a similar physical demonstration. What would make a good demonstration? What risks do such demonstrations carry if they oversimplify? Connect to the broader skill of translating specialist knowledge into public understanding.
Ethical Thinking When examining who gets access to powerful tools
How to introduce
Present Hopper's conviction that programming should be accessible to people without specialised mathematical training. Ask students: does it matter who can use a powerful tool? Think of examples beyond computing: access to books and literacy, access to medicine, access to legal knowledge. In each case, does broader access serve the interests of the tool's original holders, or threaten them? Who benefits when powerful tools remain specialised? Who benefits when they become widely available? Connect to Paulo Freire on literacy and access, and to bell hooks on education as a practice of freedom.
Further Reading

Kurt Beyer's Grace Hopper and the Invention of the Information Age (2009, MIT Press) is the most thorough scholarly biography and places her work in its technical and institutional context. For her own voice: several of Hopper's lectures are preserved on video and available through the Computer History Museum archive, including her famous nanosecond lecture at MIT in 1985. Carmen Mitchell's collected oral histories of early programmers include substantial Hopper material.

Key Ideas
1
Standards and the work of making things work together
A less visible part of Hopper's legacy was her decades of work on technical standards — the agreements between manufacturers, users, and governments about how computers and programs should behave so that they could work together. She chaired committees, testified before Congress, and served on panels that established specifications for COBOL and other languages. This is slow, often tedious work that rarely produces headlines but is essential to the functioning of any large technical system. Hopper understood that the benefits of computing depended not only on clever individual inventions but on the shared rules that allow different people's inventions to connect. Her patient commitment to standards work is a model of a kind of engineering citizenship that is easy to undervalue.
2
The question of who programming is for
Underlying Hopper's technical work was a political and ethical question: who gets to use computers? In the early 1950s, some saw programming as a specialised priesthood, open only to those with the right mathematical training and willingness to memorise machine codes. Hopper disagreed. She wanted programming to be accessible to accountants, managers, clerks, teachers — anyone whose work could be helped by a machine. Her compilers and English-like languages were tools for widening access. This was not a neutral technical choice; it was a choice about the distribution of power in the coming computerised world. The democratising strand in her work has influenced later efforts to make computing broadly accessible, from Basic to Python to visual programming tools for children.
3
The long career: military service, civilian work, and public teaching
Hopper's career spanned nearly fifty years and moved between mathematics teaching, military service, private industry, and public advocacy. She was recalled to active naval duty three times after her initial enlistment and finally retired at seventy-nine as the oldest officer in active service in any US military branch. This unusual pattern reflects both her capacities and the specific shape of mid-twentieth-century American computing, in which the military and industry were deeply interwoven. It also reflects her own temperament: she was a public figure who lectured tirelessly, a practical technologist who shipped working code, and a military officer who valued discipline and institutional service. Few careers have brought these roles together so thoroughly.
Key Quotations
"The glass is neither half empty nor half full. It's simply larger than it needs to be."
— Lecture to engineering students, 1980s
Hopper is playing with a cliché and turning it into an engineering observation. When someone argues about whether a glass is half empty or half full, they are often arguing about attitude when the real problem is the design: a glass too large for its contents. She uses the image to teach a principle of engineering economy. Components should be sized for what they actually need to hold or do; extra capacity that goes unused is not generosity but waste. Applied more broadly, the remark suggests that a lot of disputes about interpretation would be better reframed as questions about design.
"A ship in port is safe, but that is not what ships are built for."
— Lecture, various occasions
This saying did not originate with Hopper — she credited it to various sources and it circulates in several forms — but it became associated with her because she quoted it often. The point is about the purpose of things and people. A ship designed for voyages should take voyages, even though voyages involve risk. A person with capacities that can do work should use them, even though using them exposes one to failure. Safety, in this view, is not the goal of good work; it is a condition to be weighed against the purposes that work is meant to serve. The quotation captures her temperament and her lifelong refusal to stay in port.
Using This Thinker in the Classroom
Research Skills When examining the role of standards and committees in technical progress
How to introduce
Introduce Hopper's decades of work on technical standards — the shared agreements that allow different machines, programs, and institutions to work together. Note that this work is rarely visible from outside but is essential to how modern infrastructure functions. Ask: why is standards work undervalued? What would happen to computing, the internet, or electrical systems without it? Discuss contemporary examples: the standards that allow web pages to be read by any browser, the standards that allow different countries' electrical plugs to be adapted, the protocols that allow email to move between providers. Consider what it means to do important work that almost no one notices.
Ethical Thinking When examining the relationship between technology and military institutions
How to introduce
Introduce the central role of the United States Navy in Hopper's career. She served for nearly forty years, working on computers for naval applications and reaching the rank of rear admiral. Much of early American computing was funded and shaped by military priorities. Ask students to consider what this involvement has meant. Military funding made possible discoveries that benefited civilian life — but it also shaped what kinds of problems were studied and which were neglected. How should we think about the deep historical entanglement between military institutions and the development of computing, the internet, and artificial intelligence? Connect to debates about the social responsibilities of engineers today.
Common Misconceptions
Common misconception

Grace Hopper invented the word bug for a computer malfunction.

What to teach instead

The word bug was already in use among engineers before Hopper's famous moth incident of 1947. Thomas Edison used the term in the 1870s to describe problems in his devices, and it was widely current among electrical and mechanical engineers. What Hopper's team did was find and document a literal bug — a moth — in a relay of the Mark II computer, and tape it into the logbook with the amused note first actual case of bug being found. The story is memorable and has helped spread the term, but crediting Hopper with inventing the word is inaccurate. The logbook page itself is preserved at the Smithsonian and can be seen online.

Common misconception

Grace Hopper invented COBOL.

What to teach instead

COBOL was designed by a committee called the Conference on Data Systems Languages, or CODASYL, in 1959-1960. Hopper was a member of the short-range committee that produced the initial design, and her earlier language FLOW-MATIC was one of the most important influences on COBOL's English-like syntax. But she did not invent COBOL single-handedly. She is sometimes called the grandmother of COBOL to recognise her foundational influence without overstating her authorship. The distinction matters because it reflects how major programming languages are actually produced: through sustained committee work with many contributors, not by a single inventor.

Common misconception

Hopper's work is mainly important for symbolic reasons as a woman in computing.

What to teach instead

Hopper's symbolic importance as a pioneering woman in computing is real and deserved, but it is a consequence of her technical importance rather than a substitute for it. Her compiler work in 1951-1952 is a foundational achievement of computer science. FLOW-MATIC shaped COBOL, which ran major portions of global business computing for decades. Her advocacy for portable, readable programming languages helped define the field. Treating her primarily as a symbol, without engaging with the specific content of her technical work, does her a disservice and repeats a common pattern of underestimating women's substantive contributions.

Common misconception

Compilers are a solved problem that stopped being interesting long ago.

What to teach instead

The principle Hopper established — that programs can be written in a human-readable language and translated automatically into machine code — is now universal, but compiler design itself remains an active area of research. Modern compilers perform sophisticated optimisation, handle concurrent and distributed computing, support new languages designed for new domains, and interact with hardware that has itself become dramatically more complex. Improvements in compilers directly affect the speed, reliability, and power consumption of every program that runs on modern computers. Hopper opened the field; the field has continued to develop, and the question of how to translate human intentions into machine action remains central to computer science.

Intellectual Connections
Develops
Ada Lovelace
Lovelace and Hopper are the two foundational women in the history of computing, separated by a century. Lovelace, writing in 1843, recognised that a programmable machine could in principle manipulate any symbols, not just numbers, and she wrote the first published algorithm. Hopper, writing programs on actual working computers a hundred years later, built the tools that made Lovelace's abstract insight practical for ordinary people. The compiler is in a sense the device that turned Lovelace's vision into daily reality. Reading them together traces the long arc from imagined possibility to lived infrastructure and shows how ideas can wait for technology to catch up.
Complements
Al-Jazari
Al-Jazari's pegged musical cylinder, which could be reprogrammed by moving the pegs, stands at one end of the long tradition of thinking about machines whose behaviour can be changed without rebuilding them. Hopper's compiler stands much further along the same path: a mechanism that allows instructions written in one form to be translated into another, so that a programmer need not work in the hardware's native language. The connection is not influence — Hopper did not read Al-Jazari — but a shared problem. How do you separate what a machine does from how it does it? Both figures offer answers appropriate to their time.
In Dialogue With
Paulo Freire
Freire and Hopper worked in very different fields — literacy education in Brazil, and computer programming in the United States — but they shared a commitment to widening access to powerful tools. Freire argued that literacy should not be a privilege of the educated classes but a capacity shared with the poor as a condition of their liberation. Hopper argued that programming should not be a specialised priesthood but a skill accessible to accountants, managers, and ordinary workers. Both recognised that access to the means of shaping one's world is a political matter, not just a technical one. The comparison highlights the democratising strand in Hopper's technical choices.
In Dialogue With
Nikola Tesla
Hopper and Tesla worked at roughly the same scale of importance in different eras and different branches of technology. Tesla built the electrical infrastructure that powered the twentieth century; Hopper built the software infrastructure that would run on top of it. Both combined rigorous technical work with public teaching and dramatic demonstration — Tesla with his lecture-hall displays of wireless electricity, Hopper with her nanosecond wire. Both understood that infrastructure reaches further when the public understands what it does. Reading them together shows how consequential engineering often involves not only technical innovation but the patient work of explaining.
Complements
Marie Curie
Curie and Hopper, separated by a generation, are both major figures who did substantial scientific and technical work in professions that were hostile to women's full participation. Curie overcame barriers in early twentieth-century European science; Hopper worked in American computing and military institutions of the mid-twentieth century. Both had to navigate the specific obstacles their eras presented while keeping their actual work at a very high standard. Reading them together shows that women's presence in science and technology has a long and substantial history, visible once one looks past the gatekept narratives that have often left women out.
Anticipates
bell hooks
hooks wrote about education as a practice of freedom, arguing that the purpose of teaching is to give students the capacities to shape their own lives. Hopper's commitment to widening access to programming participates in a similar vision, applied to a specific technical domain. A world in which programming is confined to a small specialist class is not a free world in the same way that a world in which only an elite can read is not a free world. The comparison is not one of direct influence but of shared recognition that the distribution of capacity shapes the distribution of power.
Further Reading

For the technical history of compilers and early programming languages: John Backus and others in the ACM Turing Award collection; Jean Sammet's Programming Languages: History and Fundamentals (1969, Prentice-Hall) gives a contemporary view of the field in which Hopper worked.

For the history of COBOL specifically

CODASYL committee records and the retrospectives published in the Communications of the ACM.

Thomas Misa's edited volume Gender Codes

Why Women Are Leaving Computing (2010, Wiley) places Hopper's career in a longer history of women in the field.