Massachusetts Institute of Technology | Cambridge, Massachusetts
For seminal contributions to computer programming languages and methodology, enabling the implementation of reliable, reusable programs.
Much of what we do today depends on computer programs—programs run inside our cars, our household appliances, and our smart phones. Programs are written in programming languages, and the details of these languages play a large role in not only how efficiently these programs can be written, but more importantly in how free from errors they are and how safe the resulting systems are. Barbara Liskov’s fundamental contributions shaped modern programming languages; her work led to better programming languages, and better languages allow programmers to build better programs.
For programs to be useful they need to work correctly. But programs are often very large, consisting of hundreds of thousands or millions of lines of code. Such programs are simply too big and complicated for people to understand as a whole. As a result, software systems developed during the 1950s through the 1970s frequently failed, a problem referred to as the "software crisis".
Computer science researchers during this period understood that the key to managing software complexity was to break programs into modules, each of which could be reasoned about independently by both the programmers who built the module and programmers who used it. This notion of modularity is common across engineering fields, but it was unclear at the time how to apply it to computer programs. Liskov solved this problem: she came up with the notion of an abstract data type as a way to design well-modularized code. Abstract data types, such as file systems and databases, make very useful modules. They do complicated things but provide a simple interface, consisting of a few operations, that is easy to use and that hides the complexity of the module's implementation.
Liskov demonstrated the utility of abstract data types as a practical basis for programming by developing the CLU programming language. CLU is generally credited as one of the major steps in the development of object-oriented programming, a powerful programming paradigm that is the basis of widely-used programming languages like JAVA. Liskov created CLU at MIT, where she has spent most of her career as a researcher and professor.
As a woman, Liskov was something of an anomaly when she began her studies in mathematics and physics in the late 1950s at the University of California, Berkeley—one of only a few female students in the program. She didn't start out intending to program computers, but while working for a year at the MITRE Corporation in Massachusetts, she discovered that she not only had a definite knack for it but a strong interest, finding it a challenging pursuit. She used the opportunity to teach herself the fundamentals of computers and how they worked, experience that proved invaluable in her graduate studies at Stanford, where in 1968 she became one of the first American women to earn a Ph.D. in computer science. She returned to MITRE for several more years, concentrating on her research in computer systems before moving on to MIT.
The ideas Liskov pioneered find expression in almost all computer languages developed since the 1980s, including Python, Java, C++, and others used for object-oriented programming (OOP), which also benefits from another of her major accomplishments, the Liskov Substitution Principle. First introduced by Liskov in a 1987 conference address and later further refined in collaboration with Jeannette Wing, this principle provides a means to classify objects in OOP programs as subtypes of other objects in a form of semantic subtyping. Another extension of her CLU work is Argus, a programming language that permits programming of a distributed program containing components running on different computers and communicating over the internet. Almost all programs we use today are distributed.
These, and her many other contributions to the development of computer languages and programming methods and models, provide the foundation of the software universe upon which our varied and indispensable digital technologies depend. Her status as a trailblazing computer scientist has earned her significant recognition from her peers, including election to the National Academies of Science and of Engineering, the John von Neumann Medal from the Institute of Electrical and Electronics Engineers (IEEE), the Turing Award from the Association for Computing Machinery (ACM), and a number of honorary doctorates.
Barbara Liskov began her career in an age long before laptops, smart phones, and digital car dashboards, when computers were the size of refrigerators and computer programs were represented by stacks of punch cards. Through her work, she has enabled the software heart of our digital age to keep pace with the inexorably advancing sophistication of its hardware. As computers continue to grow in speed and sophistication even as they shrink in size, Liskov's work ensures that their vast new capabilities and powers will continue to be fully realized.
Information as of March 2023