Ada Lovelace Day: Barbara Liskov
by Stowe Boyd
A long, long time ago, I was a software researcher, and my focus was software tools and programming languages. One of the biggest influences on my thinking about programming languages was Barbara Liskov, a professor at MIT, who had developed the CLU programming language in the mid 70s. I think its fitting that my Ada Lovelace day honoree (if this is an honor for her, in fact) is someone so deeply involved in the world of computing.
In 2008, Liskov received an achievement award for her work in programming languages from the Special Interest Group for Programming Languages (SIGPLAN) of the Association for Computing Machinery (ACM). The citation reads:
[from SIGPLAN - Awards]Professor Barbara Liskov has had tremendous impact on the fields of programming languages, operating systems, distributed systems, and information security. Much of her early research focus was on data abstraction, modularity, and encapsulation as typified by the CLU programming language. At the time, CLU incorporated a number of advanced features, such as modular encapsulation of abstract data types, bounded polymorphism, exceptions, and iterator abstraction that had clear influence over successive languages including Ada, Modula-3, C++, and Java. Through CLU, the related books and articles, her work on behavioral subtyping, and her courses on programming methodology, Professor Liskov changed the way that a generation of engineers thought about and constructed large software systems. Professor Liskov's work on the Argus project also brought to the fore the idea of integrating transactions and orthogonal persistence into a programming language with an aim towards building reliable distributed systems. More recently, her work on information flow control helped to start a research focus on end-to-end security using language-based mechanisms for enforcement.
On a personal basis, I incorporated several structural concepts of CLU into my own foray into programming language design, Modular C, which was also published by SIGPLAN in 1983. The two or three articles I wrote on that preprocessor-based extension to C led to an interchange with Bjarne Stroustrup, who designed the C++ language around the same time. However, it was Liskov that influenced us to experiment with higher order structures for C, and she really is the godmother of object-oriented design, because of the direct influence she had on C++.
[Update 10:27am PT 24 Mar: Turns out Prof. Liskov has been awarded the ACM's Turing Prize just this month!]
Comments