Laws of Software Engineering

· top-stories programming · Source ↗

Article

TL;DR: Visual reference of software engineering aphorisms — useful but none are actually laws.

Key Takeaways

  • Knuth’s full quote: ignore small efficiencies 97% of time, not 100% — widely misapplied
  • Chesterton’s Fence and Boyd’s Law of Iteration are notable omissions commenters flagged
  • Real engineering skill is knowing when to break these rules, not memorizing them

Discussion

  • Thread consensus: ‘laws’ is a misnomer — these are heuristics and context-dependent aphorisms
  • Heated debate on SOLID and premature optimization being misused to avoid hard thinking
  • Best insight: the meta-law that all software laws get immediately misinterpreted after writing

Top comments:

  • [conartist6]: These laws contradict each other — picking one justifies anything you already want
  • [ryanshrott]: Knuth’s 97/3 split is the whole point; people flip the intent entirely
  • [hunterpayne]: Meta-law: all engineering laws are immediately misinterpreted and mindlessly applied

    The meta-law of software engineering: All laws of software engineering will be immediately misinterpreted and mindlessly applied in a way that would horrify their originators.

  • [fenomas]: Copy-paste is free; abstractions are expensive — counter to DRY dogma

Discuss on HN