CONCEPT
Abstract Data Types
Barbara Liskov's foundational discipline for managing complexity: bundling data with its permitted operations behind a specification that hides implementation, so that each component of a large system can be understood, trusted, and changed without re-examining the rest.
The abstract data type is the wall that makes cathedrals possible. Before Liskov introduced the concept in the early 1970s, to understand any part of a large software program you potentially had to understand all of it, because any part could reach into the internals of any other. Her discipline severed those entanglements: a module bundles its data together with the operations permitted on that data, and hides entirely how the data is represented internally. The outside world sees only the interface—the operations and what they promise—and is forbidden, by the structure of the language itself, from depending on the mechanism. This is what lets large software exist at all: a modern operating system is millions of lines written by thousands of people, none of whom understands the whole, and it functions because Liskov's walls let each person reason locally, trusting the rest through their interfaces. The power of the idea is not any particular implementation but the
Keep reading with YOU ON AI
Unlock the full book, 10,000+ field-guide entries, and a 1000+ thinker library. If you have a book code, register now — it takes a minute.