Main Page - Worse Is Better
Main Page
From Worse Is Better
Jump to: navigation,<br>search
Worse is Better Considered Harmful
Abstract
In 1991, Richard Gabriel published an influential article "The Rise of Worse is Better". This article argued for a design philosophy he dubbed worse-is-better in which implementation simplicity is afforded greater import than interface simplicity. Gabriel's article was widely read in the software engineering community and has since influenced a generation of programmers.
The original article focused on the success of Unix and the C programming language, which Gabriel describes in what is probably the most famous quote from his paper: The worse-is-better philosophy means that implementation simplicity has highest priority, which means Unix and C are easy to port on such machines. Therefore, one expects that if the 50% functionality Unix and C support is satisfactory, they will start to appear everywhere. And they have, haven't they? Unix and C are the ultimate computer viruses.
Worse-is-better in this sense holds simplicity of implementation to be the highest priority because it allows new designs to spread virally.
We contend that the worse is better design philosophy, while highly successful, is inherently misguided. In particular, we argue that worse is better succeeds by imposing a disproportionate cost on users. Since the first design which solves a useful subset of a problem tends to win even in the face of better, but later, competition (the so-called first-mover advantage), successful but suboptimal designs often become entrenched. To avoid this problem and encourage the most useful designs, we propose a more nuanced development philosophy, growable-is-better, which offers many of the benefits of worse-is-better but helps contain the cost to the community.
If the growable-is-better philosophy were to replace the worse-is-better philosophy, users of software libraries, technical standards, and extensible applications and platforms would have much more powerful tools with only a small additional investment by the original designers. We discuss the differences between these philosophies, which share many of the same strengths. Finally, we discuss techniques for implementing growable-is-better in new software systems.
Contents
An Overview of Worse-is-Better
Externalities in Worse-is-Better
Our Alternative: Growable-is-Better
A Comparison between Worse-is-Better and Growable-is-Better
Implementation Techniques for Growable-is-Better
Retrieved from "http://hiesey.com/worseisbetter/index.php/Main_Page"
Personal tools
Log in
Namespaces
Page
Discussion
Variants
Views
Read
View source
View history
Actions
Search
Navigation
Main page
Community portal
Current events
Recent changes
Random page
Help
Toolbox
What links here
Related changes
Special pages
Printable version
Permanent link
This page was last modified on 3 June 2011, at 05:11.
This page has been accessed 80 times.
Privacy policy
About Worse Is Better
Disclaimers