Leaky and broken abstractions

From Helpful
Revision as of 15:31, 14 August 2023 by Helpful (talk | contribs) (→‎Git)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


A broken abstraction, or leaky abstraction, is one that fails to actually abstract away what it needed to.


To some degree, all abstractions are, but still signal which details were intended to be secondary.



What do leaky abstractions actually leak?

Examples

Most filesystems

Floating point numbers

ORMs

Query languages on complex data

Git