Worse is Better: Why Simpler Software Often Wins Over Technically Superior Design
By
Mark Seemann
Summary
This article explores Richard P. Gabriel's 1989 concept of "Worse is Better" — the idea that in software development, a simpler, less complete solution can often achieve greater adoption and success than a technically superior but more complex one. The piece contrasts the design philosophies behind Lisp (the "MIT/Stanford" approach emphasizing correctness and perfection) versus C++/Unix (the "New Jersey" approach prioritizing simplicity and practicality). It argues that while the "better" solution may be technically superior, the "worse" solution often wins in the real world because it is easier to implement, port, and use — leading to broader adoption and eventual dominance.
Source
Key quotes
· 3 pulledThe most popular technology may not be the best.
Perfection is the enemy of the good.
In 1989 Richard P. Gabriel coined the term Worse is Better, a clearly humorous take on certain tendencies in software development and design as he saw them.
You might also wanna read
The Lost Art of Interactive Programming: How 1970s REPLs Outperformed Modern Development Environments
The article argues that 1970s programming environments like Lisp and APL REPLs offered superior interactive, exploratory development experie
The Power of Simplicity in Software Design: Why the Simplest Solution Often Works Best
The article advocates for a minimalist approach to software design, emphasizing that engineers should focus on doing 'the simplest thing tha
Code as Debt: Why Less Code is Better for Software Companies
The article presents an analogy comparing two companies to argue that less code is better, framing code as 'debt' that creates maintenance b
Why Duplication Beats the Wrong Abstraction in Software Development
Sandi Metz reflects on the strong reaction to her assertion from RailsConf 2014 that "duplication is far cheaper than the wrong abstraction.
The Evolution of Complex Systems: Why Iterative Development Outperforms Top-Down Design
The article critiques systems thinking approaches that attempt to design complex systems from scratch, arguing that successful modern system
Why Type Checking May Be Solving the Wrong Problem in Software Design
This article challenges the software industry's long-held belief that sophisticated type checking systems are essential for building reliabl

Comments
Sign in to join the conversation.
No comments yet. Be the first.