Currently viewing a development environment

Rear Admiral Amazing Grace Hopper taught computers English

She recorded the first computer bug when a moth got caught in a relay switch

Alyssa Shepard

Cancer Biology

The Scripps Research Institute

Curiosity often breeds innovation, which was precisely the case with Grace Murray Hopper. As a child, she would often dismantle household electronics to see how they worked—a habit that forced her mother to limit Grace to taking apart just one alarm clock. Her interest in machines and how they functioned served her well as she applied her knowledge of mathematics and physics to develop the first computers, and then to advance computer programming.

A programmer is born

Hopper transitioned from dismantling household electronics to dismantling complex equations and theories. She chose to study mathematics and physics at Vassar College, and eventually obtained her masters and PhD in mathematics from Yale University. During her PhD, she did double-duty as a student and professor, teaching math at Vassar College during much of her PhD. She would remain on as a professor of mathematics there for over ten years.

Her transition from mathematician to programmer in 1944 was made possible through military service in the Navy Reserves. Hopper first attempted to enroll in the Navy during World War II. However, at the age of 34, standing at 5’6” and only 105 pounds, in 1940 she was considered too old and too small for active military duty—and her role as a professor of mathematics was also deemed too important to the war effort for her to leave. But Hopper was determined to serve her country, and four years later—after successfully obtaining a leave of absence as a professor and special exemption from the weight requirement, she enlisted in the Navy Reserve.

Hopper’s first assignment placed her at Harvard, where she began work on the first Mark I computer for the Bureau of Ships Computation Project. The excitement (and no doubt challenge) of programming the world’s first computers led Hopper to turn down a full professorship from Vassar to remain working at Harvard and their Computation Lab. This decision established her incredible career trajectory.

“Debugging”

"First actual case of bug being found," a moth trapped in a relay switch of Harvard's Mark II computer.

"First actual case of bug being found," a moth trapped in a relay switch of Harvard's Mark II computer. 

U.S. Naval Historical Center via Wikimedia Commons.

In 1947, as Hopper was working on the Mark II computer at Harvard, her team discovered a moth stuck in a relay, a type of electric switch. This impeded the operation of the relay, and therefore the function of the computer itself. The remains of the moth can still be seen in the team’s log at the Smithsonian. Hopper is often claimed to have coined the phrase “debugging” to refer to identifying issues in computer code. While it's a charming story, the phrase “debugging” was not used in any of the team's usage logs, and in fact, “bug” had already been in use in the engineering field for quite some time. However, it is technically true that with the moth, Hopper found the first "computer bug."

Teaching computers English

Hopper was dedicated to computer programming, and was determined to make computers easier to use. As anyone who has dabbled in computer programming can tell you, it can be hard to learn the correct commands. With the early computers Hopper was working with, it was even trickier—commands were structured as complex symbols and numbers, and even simple programming required extraordinary technical knowledge. One of Hopper’s most notable accomplishments was to aid the transition of programming to something more people-friendly, through the creation of the first compiler. She also developed the first coding language, which she based primarily on English words.

Initially, her idea to incorporate English into programming was criticized. Many people pointed out the obvious—computers can’t understand English. However, Hopper was adamant, stating, “It’s much easier for people to write an English statement than it is to use symbols. So I decided data processors ought to be able to write their programs in English, and the computers would translate them into machine code.”

To do so, Hopper invented the first compiler, a program that translates computer code from one programming language to another. Often, this involves taking a high-level language—for example, using English words and phrases as a set of instructions—and then translates those to a low-level computing program, one rich in symbols and numbers, that a computer can understand. Having a compiler allows computers to “understand” English, and helps programmers more easily communicate with the machines they build. Hopper hoped that programming languages that relied on English would help the average user be able to access them.

image of Grace Hopper surrounded by computers and machines

Grace Murray Hopper.

Matteo Farinella 

It's a simple idea, but a revolutionary one, and eventually would lead to the creation of many programming languages—user-friendly inputs that can be translated by the computer to machine-friendly outputs. Hopper herself was responsible for one main language, known as COBOL (Common Business-Oriented Language), earning her the nickname “Grandma COBOL.” The program was developed in 1959, mainly for business and administrative systems to organize large information sets, and still remains the most ubiquitous programming language used in business (though now it’s mainly used to maintain older systems). COBOL's widespread use can likely be attributed to the fact that Hopper developed and validated the COBOL software and its compiler counterpart for the entire Navy during her tenure as director of the Navy Programming Languages Group.

Hopper's influence and stature in the Navy was highly praised—she left Navy service with the rank of Rear Admiral, at a time when few women achieved such a high status. Her career in the Navy Reserves spanned more than 42 years, although she never was allowed into the full Navy. She eventually became the oldest active-duty commissioned officer in the US Navy when she was 79 years, eight months, and five days.

“Amazing Grace”

Even though her official teaching career ended in 1943, Hopper was in demand as a speaker and consultant throughout her life. She was energetic and engaging, and fondly remembered for one particular demonstration, involving wires to simulate nanoseconds and data processing. As she so frequently was asked, “Why does satellite communication take so long?” Grace used a spool of wire to show how far light could travel in one nanosecond, and to explained how long data takes to reach a satellite (spoiler—it’s a long time), which was why initially Internet speeds were so slow. Luckily for us, we've graduated from using dial-up and old copper phone lines to fancy fiber optic cables dedicated solely to Internet services, which can transmit our digital data faster. Today, Hopper would have to update her demonstration for the modern age.

Hopper’s life successfully intertwined both military service and academic prowess, with that dash of chance that discoveries often carry. It's likely that without her fierce desire to join the military, Hopper would have remained as a professor of mathematics, and not had the opportunity to work on computers. Given her natural curiosity, this would have no doubt still led to important innovations, but her contributions to programming would have been missed. Hopper's abundance of accomplishments earned her the nickname “Amazing Grace,” along with many awards (including a post-humous Presidential Medal Freedom from Barack Obama). She was a pioneering woman in the field of computer programming and the Navy Reserves—both areas notoriously dominated by men. But Hopper's ideology and founding principles shaped computer science as we know it today. She was truly amazing.

Comment Peer Commentary

We ask other scientists from our Consortium to respond to articles with commentary from their expert perspective.

Maddie Bender

Microbial Disease Epidemiology

Yale University

Really great retrospective profile, Alyssa! As a Yalie, I feel a personal attachment to Hopper — one of our residential colleges was renamed after her a couple of years ago, and as part of the process, artists designed a coat of arms to represent her life and accomplishments.

According to the artists, the blue is meant to represent both Yale and the U.S. Navy. The yellow fish in the center is actually an early depiction of a dolphin, another nod at the sea and Hopper’s career. My favorite part, though, is the background of white circles and vertical lines, symbolizing the 1’s and 0’s of binary code.

Alyssa Shepard responds:

Thank you so much! This is such an interesting addition to the story, I had no idea this existed. The 1’s and 0’s are definitely a nice touch :)

Bhavya Singh

Microbiology

McMaster University

This was very interesting! I had no idea that this was the origin story for compilers, in addition to so many of the programming languages we see today - it’s cool, especially because I use these tools every day. What really struck me about this story is the fearlessness with which she switched her path (turning down a professorship in a “safe” career that she had already invested years of time into, and turning to military service and programming). It’s a great example of how you can learn new skills, explore new opportunities, switch your entire career path and excel at it - and more importantly, you can do this at any stage. What an icon!