leaky abstraction
expressionprogrammingweb dev
An abstraction that is supposed to hide complexity but lets details of what is underneath show through.
TCP promises reliable delivery, but a cut cable still surfaces as a hang; an ORM hides SQL until a slow query forces you to think in SQL again. Joel Spolsky's 'law' is that all non-trivial abstractions leak to some degree, so you can never fully stop understanding the layer below.
Also known as: law of leaky abstractions
Sources
- Spolsky, 'The Law of Leaky Abstractions' (2002)