Skip to content

Abstraction

Good abstractions capture essential properties while hiding accidental complexity, allowing reasoning about systems at appropriate levels of detail

Tension Addressed

Depth vs. Breadth

Recognizable As

Interfaces that hide implementation; mental models that ignore irrelevant detail; APIs that survive implementation rewrites; concepts that transfer across technologies; "leaky abstractions" as failure modes

Canonical Sources

Liskov, "Data Abstraction and Hierarchy" (1988); Spolsky, "The Law of Leaky Abstractions" (2002)

Transfers To

Mathematics (abstraction hierarchy), Science (models), Maps (cartographic abstraction), Language (word definitions)

All non-trivial abstractions are leaky to some degree (Spolsky's Law). The goal is appropriate leakiness - hiding what should be hidden while not creating surprises.