Did we lose our way in making efficient software?

Perceived Software Bloat & Regression

  • Many compare 90s-era apps (Word on a 386, QNX demo floppies, early Macs) to today’s gigabyte‑scale software and feel we’ve lost efficiency without proportional benefit.
  • Users report modern machines with 8–32 GB RAM feeling as “slow” as older systems once did, especially with browsers, Electron apps, Slack, Google Docs, etc.
  • Others argue that relative to hardware growth, current apps are not more bloated than in the past.

What We Gained

  • Cited gains: rich graphics, Unicode and internationalization, high‑DPI UIs, composited desktops, crash handling, collaboration, track changes, spell/grammar checking, global fonts, complex document formats, cross‑platform frameworks.
  • Some note many of these could be implemented far more efficiently; the current cost is mostly due to choices and shortcuts, not hard technical limits.

Root Causes & Incentives

  • Common theme: business incentives favor developer time, time‑to‑market, frameworks, and SaaS revenue over runtime efficiency.
  • “Hardware is cheap” mentality and containers (e.g., 6+ GB Docker images) exemplify trading resource use for simpler builds and distribution.
  • Bloat is described as an “externality”: developers don’t directly pay for wasted CPU/RAM/energy; users and the planet do.

Web vs Native

  • Browsers, JS, DOM, and frameworks are widely blamed for sluggishness, especially on large documents or long comment threads.
  • Some argue high‑performance web apps are possible but require discipline and careful architecture that are rare under current pressures.
  • Others point out native isn’t automatically better; poor algorithms and data structures can make native apps just as slow.

Platforms, Lock‑In & Distribution

  • Friction around native apps: paid dev accounts, mandatory signing/notarization, app‑store fees, code‑signing certs, and platform‑specific UI stacks push many toward web apps.
  • There is debate over whether store cuts (15–30%) and tax/chargeback handling are “worth it” versus payments via Stripe or similar.
  • Cross‑platform UI remains fragmented; lack of a common native API and heavy frameworks (Qt, Electron, Java UIs) push some developers to the browser.

Attitudes & Culture

  • Many blame current engineering culture: “premature optimization is evil,” resume‑driven framework choices, and feature‑count metrics.
  • Others stress that the real missing piece is incentives and process: high‑quality, efficient code takes time that organizations rarely reward.