proomt

Search

Search posts, papers, and topics

Hall of Fame

Hall of FameRichard P. Gabriel19897 min readintermediate

The Rise of "Worse is Better"

Summary

Gabriel contrasts the MIT "right‑thing" design approach with the New Jersey "worse‑is‑better" philosophy, arguing that simplicity‑first designs like Unix and C spread faster despite limited functionality. He suggests that early, portable, 50‑80% solutions can seed broader adoption before being refined.

  • Worse‑is‑better puts implementation simplicity above interface simplicity, correctness, consistency, and completeness.
  • Unix and C succeeded because their simple designs were easy to port to low‑resource machines, enabling viral adoption.
  • The MIT "right‑thing" approach yields feature‑complete, consistent systems but often delays adoption due to complexity.
  • Launching a 50‑80% functional system can condition users to accept incremental improvements toward the "right thing".

Engineers building languages, runtimes, or platforms should understand how simplicity‑first trade‑offs affect adoption and ecosystem growth.

6/10

Related reading

  1. Hints for Computer System Design

    Lampson’s 1983 essay distills practical design hints for computer systems, emphasizing simple, well‑defined interfaces, predictable costs, and separating common‑case from worst‑case paths. The advice, illustrated with examples from Alto, Dorado, and early OSes, remains relevant for modern system architects.

    Hall of Famemicrosoft.com62 minpaper
  2. Choose Boring Technology

    The essay argues that engineering teams should spend their limited “innovation tokens” on business problems, not on novel infrastructure, by choosing mature, well‑understood technologies. Boring tools like MySQL, Postgres, Python, or Cron reduce unknown unknowns and keep system complexity low.

    Hall of Famemcfunley.com8 min
  3. Things You Should Never Do, Part I

    Joel Spolsky argues that rewriting a mature codebase from scratch is usually a strategic mistake, because it throws away bug fixes and delays shipping. Incremental refactoring of architecture, performance, or style issues is far safer.

    Hall of Famejoelonsoftware.com6 min
  4. Article: Beyond Relevance: A Governance-First Architecture for Enterprise Personalization

    The article proposes a governance‑first architecture for enterprise personalization, where policy‑driven steps (memory, journey graph, AI routing, scoring, trust checks, outcome simulation) shape the recommendation before it is returned. A reference FastAPI implementation demonstrates the pattern with external YAML policies and optional LLM assistance.

    InfoQinfoq.com19 min
  5. The pursuit of excellence does not need justification

    Opinion piece arguing that engineers should pursue excellence without needing to justify it, using anecdotes about a fast terminal emulator and a WordPress menu cache to illustrate how over‑engineering can yield unexpected downstream benefits, while also acknowledging the practical need for “good enough” decisions.

    Bjørn Johansenbjornjohansen.com2 min
  6. Faster Starts, Less JavaScript Overhead

    Codename One reduced startup latency and JavaScript overhead by publishing screen state atomically, indexing style lookups, avoiding unnecessary artwork generation, and refining suspension analysis, yielding measurable speedups.

    CodeName Onecodenameone.com7 min