What Is Leaky Abstraction?
All software APIs are about abstractions. The API itself is a way to abstract away implementation details, so that the code consuming the API doesn’t need to worry about those details. Most of the time, that’s a terrific benefit. Consider something like an operating system windowing API. As a developer, that windowing API means you don’t need to learn how to do things like draw individual pixels onto the screen. For the most part, software abstractions are great. But when those abstractions start “leaking,” things grow complicated very quickly. In this post from Eric Boersma on Neurelo’s blog, we’re going to talk about what leaky abstractions are and how you should approach one when you find it.