• Alphane Moon@lemmy.world
    link
    fedilink
    English
    arrow-up
    37
    ·
    21 days ago

    First time I’ve heard of the “Leaky Abstraction” concept, makes a lot of sense. Good metaphor too.

    • naught@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      32
      ·
      20 days ago

      The Hacker News crowd uses this phrase every other sentence so it was almost humorous to see it used here. I thought this was a shitpost

    • Codex@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      edit-2
      20 days ago

      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.

      • Cocodapuf@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        20 days ago

        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?”