this post was submitted on 06 Dec 2024
457 points (97.3% liked)
Technology
59974 readers
3693 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
First time I've heard of the "Leaky Abstraction" concept, makes a lot of sense. Good metaphor too.
I first heard of it from Joel Spolsky's blog and wikipedia also credits that article with popularizing the concept. In it's original formulation, it was based on remote procedure calls being hidden in APIs. Because a remote computer call has all these limits of latency, packet/info loss, and possible connection loss, it is impossible to make a perfect abstraction that allows the programmer to treat the remote call as though it were local. The reality the abstraction tries to hide "leaks" in those fundamental limits.
All of contemporary global society is such an abstraction; that's one of the principles of post-modernism. When you buy clothes online an entire invisible work force of shippers, manufacturers, resource procurerers, and more lies beind each article of fabric.
Pressure from climate change, tariffs, global war, and more are straining the foundations of society and the comfortable abstraction is starting to crack.
We need these abstractions though, we love them, and we should! The problem isn't abstraction itself, we couldn't survive without that. The problem is in how we build these abstractions, the problem is that we create unsustainable and irresponsible abstractions and then present them as legitimate options.
But we can't throw out abstraction entirely. It's like, if a person dies in a car crash, we should ask some questions, but you don't ask "should we really have cars?", instead you ask "should that person be driving a car? And is that car safe to drive?"