If you’re sitting in front of an internet-connected computer reading this, using an operating system and application that are stable and reliable, some of the credit should go to Barbara Liskov, who “pioneered many of the ideas that have shaped modern computer science”, according to the MIT Technology Review.
Holding the title of Institute Professor at the Massachusetts Institute of Technology, one of the leading scientific research facilities in the US, Liskov now heads the Programming Methodology Group, after starting work at the school in 1972, the first woman on the computer science faculty.
In 2008 she won the Turing Award – sometimes called the Nobel Prize of computing – for “contributions to practical and theoretical foundations of programming language and system design, especially related to data abstraction, fault tolerance, and distributed computing”.
Such professional acceptance wasn’t always forthcoming, however.
Barbara Jane Huberman was born on 7 November 1939 in Los Angeles, California. She earned a bachelor’s degree in mathematics from the University of California, Berkeley, in 1961.
She then decided to apply to graduate school at Princeton, a prestigious research university in New Jersey. As she told the MIT magazine in 2009, the school replied with a form letter explaining that it didn’t accept female students. “‘I was just astounded when I got that – a little postcard. I was very naive.’”
Rather than continue with her studies, Liskov moved to Boston and went to work at Mitre Corporation, a not-for-profit, federally funded research and development organisation, where she became interested in computers and programming.
After a year at Mitre, she returned to California, was accepted into Stanford University, and in 1968 became one of the first women in the US to be awarded a computer science PhD. Her thesis was on chess endgames.
In the introduction to her thesis she writes: “This research is concerned with the process of translating book descriptions of problem solving methods into program heuristics… The task under discussion may be almost any kind of activity, including intellectual activities such as proving theorems in geometry or solving differential equations.”
In 1970 she married electrical engineer Nathan Liskov, and the couple returned to Boston, where Barbara resumed working for Mitre and eventually joined the MIT faculty.
A 2019 profile on Liskov in Quanta magazine describes some of her key contributions to computer programming.
“When she was still a young professor at MIT, she led the team that created the first programming language that did not rely on goto statements. The language, CLU (short for ‘cluster’), relied on an approach she invented – data abstraction – that organised code into modules. Every important programming language used today, including Java, C++ and C#, is a descendant of CLU.”
“One advantage to being in the field so early was that great problems were sitting there,” she told Quanta. “All you had to do was jump on them.”
A 2008 article for the Association for Computing Machinery says Liskov’s “subsequent work has mainly been in the area of distributed systems, which use several computers connected by a network”.
“Her research has covered many aspects of operating systems and computation, including important work on object-oriented database systems… Many of these, like Byzantine fault tolerance, deal with situations where a complex system fails in arbitrary ways. Liskov developed methods to allow correct operation even when some components are unreliable.”
Liskov continues to teach and lead research at MIT, and after a hard day at the office, the MIT magazine says, she likes to go home and work in her garden or read mystery novels. Most of what her son Moses, himself a PhD holder and computer science researcher, learnt about computers as a child came from his father. “‘My mum is a great thinker about computers, and my dad is an actual user of them,’” Moses says.
“For all her deep understanding of systems and methodologies, she would sometimes have to call on her husband for help getting a document to print.”