Leaky and broken abstractions

From Helpful
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