Is software abstraction killing civilization? (2021)

Overall view on “abstraction killing civilization”

  • Many commenters reject the headline claim outright, citing the old rule that sensational question-headlines usually have the answer “no.”
  • Abstraction is framed by several as a core enabler of progress, analogous to clean water or infrastructure: without it, most modern systems would be impossible to build or maintain.
  • A minority argue that overreliance on high-level layers in one region (especially the US) might hollow out practical capability there, but not globally.

Jonathan Blow and Casey Muratori debate

  • Blow’s “collapse” talk is widely seen as containing some valid critiques (loss of low‑level skills, poor performance) mixed with hyperbole and cherry‑picked examples.
  • His actual software output is debated: some see Braid/The Witness as landmark, carefully crafted works; others see “just puzzles” and question his authority to criticize mainstream software.
  • Muratori’s performance rants (slow debuggers, terminals, editors) resonate strongly; his fast terminal example is cited as proof that much slowness is avoidable.
  • Disagreement centers on root cause: cultural (“we stopped caring about performance”) vs systemic/market (“features sell, bloat wins”) vs technical (“we need better default tools”). Some think his “just learn more” message can’t fix things at scale.

Performance, bloat, and abstraction

  • Widespread frustration with slow mainstream tools: Jira, Slack, VS Code, Notepad, web UIs, mobile apps. Many argue hardware gains are squandered.
  • Others counter that software engineering rigor (testing, CI, fuzzing, safer languages) is far higher than in the 80s/90s; regressions are mostly in responsiveness, not discipline.
  • Distinction is drawn between abstraction and overabstraction: layers that don’t pay their way, leak badly, or are shipped as first drafts then widely copied.

Education and loss of fundamentals

  • Instructors report students who don’t grasp filesystems or basic architecture; advocates push NAND‑to‑Tetris–style, bottom‑up curricula in high school and early university.
  • Others note that CS isn’t supposed to be about computers per se, and most working programmers are “craft” rather than “science” practitioners.
  • There’s concern that hiding fundamentals in consumer systems (mobile OSs, cloud files) erodes baseline literacy, forcing universities to spend time on what used to be assumed.

Web, React, and front‑end stacks

  • Strong criticism of the modern web stack: React, Next, Vercel, server‑side JS are seen as massive, underperforming abstractions for relatively simple tasks.
  • Some younger developers reportedly think browsers “render React,” not HTML, which older commenters see as symptomatic of detached abstractions.
  • There’s pushback: JSX still requires understanding HTML/DOM; React can be used sanely; real villains are business incentives and tooling ecosystems that reward complexity and lock‑in.
  • Ideas like rendering React UIs purely via canvas/WebGL are attacked as accessibility‑hostile and oblivious to decades of interaction-design knowledge.

Files, OS design, and user abstractions

  • Long subthread on why mobile and cloud platforms de‑emphasize visible filesystems: usability for non‑experts, security sandboxing, sync convenience, and support costs.
  • Critics argue that per‑app silos and hidden file extensions damage user power and cross‑app interoperability; defenders say tree‑structured files confuse many users and aren’t the only viable model.
  • Historical notes mention richer file abstractions (record‑oriented files, ISAM, bundles) that lost out to simpler Unix‑style byte streams and today’s object stores.

Low‑level programming and graphics APIs

  • Some nostalgia for assembler and tight RAM constraints; others note low‑level work still thrives in areas like ffmpeg or embedded systems.
  • A concrete counterexample to “everything is overabstracted” is modern graphics: DirectX 12/Vulkan are less abstract and much harder to teach and staff for than older APIs.
  • Commenters worry that raising the difficulty bar there shrinks the pool of people who can “just draw pixels to the screen” in modern engines.

Geopolitics and who maintains the bottom of the stack

  • A thread reframes the issue as regional: the US drifting toward high‑level software while offshoring manufacturing and low‑level expertise, with China and others increasingly capable across the stack.
  • Some predict Western industrial decline but note that civilization overall won’t collapse; another wave of countries will “pick up the pieces.”