Barbara Liskov
Developed the Liskov Substitution Principle and a pioneer in programming language design.
Most quoted
"If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P remains unchanged when o1 is substituted for o2, then S is a subtype of T."
— from A Behavioral Notion of Subtyping, 1994
"If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T."
— from Paper, 1987
"If you want to build a ship, don't drum up people to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea."
— from Attributed (often to Saint-Exupéry, but used in her context)
All quotes by Barbara Liskov (315)
I've always tried to foster a supportive and inclusive research environment.
The challenges of distributed systems are fascinating and complex.
It's essential to continually adapt and learn new technologies.
The pursuit of clarity in thought and expression is paramount.
My work has always been about making software more reliable and easier to build.
If you want to build a system that's going to last, you have to think about how to make it easy to change.
Abstraction is the key to managing complexity.
Data abstraction is a fundamental concept in modern programming.
The Liskov Substitution Principle is about behavioral subtyping, not just type compatibility.
A subtype must be substitutable for its supertype without altering the correctness of the program.
Good software design is about making things understandable and maintainable.
We need to build systems that are robust and can handle unexpected situations.
The goal of programming language design is to make it easier to write correct and efficient programs.
Modularity is essential for building large, complex systems.
Formal methods can help us reason about the correctness of our programs.
The future of computing lies in distributed systems.
Concurrency is a challenging but important aspect of modern software.
We need to educate the next generation of computer scientists to think about these fundamental principles.
The power of abstraction allows us to ignore details that are not relevant at a particular level.
Object-oriented programming, when done right, can lead to very flexible and extensible systems.
Contemporaries of Barbara Liskov
Other Computer Sciences born within 50 years of Barbara Liskov (1939).