The Full Wiki

Worse is better: Wikis

Advertisements
  
  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

Worse is better, also called the New Jersey style, was conceived by Richard P. Gabriel to describe the dynamics of software acceptance, but it has broader application. The idea is that quality does not necessarily increase with functionality. There is a point where less functionality ("worse") is a preferable option ("better") in terms of practicality and usability. Software that is limited, but simple to use, may be more appealing to the user and market than software that is more comprehensive, but harder to use. The phrase is an oxymoron and at different times, Gabriel himself has argued both sides of the "worse is better" concept.

Contents

Origin

Lisp expert Richard P. Gabriel came up with the concept in 1989 and presented it in his essay "Lisp: Good News, Bad News, How to Win Big". A section of the article, entitled "The Rise of 'Worse is Better'", was widely disseminated beginning in 1991, after Jamie Zawinski found it in Gabriel's files at Lucid Inc. and emailed it to friends and colleagues.[1]

Description

In The Rise of Worse is Better, Gabriel claims that "Worse-is-Better" is a model of software design and implementation which has the following characteristics:

Simplicity
The design must be simple, both in implementation and interface. It is more important for the implementation to be simpler than the interface. Simplicity is the most important consideration in a design.
Correctness
The design must be correct in all observable aspects. It is slightly better to be simple than correct.
Consistency
The design must not be overly inconsistent. Consistency can be sacrificed for simplicity in some cases, but it is better to drop those parts of the design that deal with less common circumstances than to introduce either complexity or inconsistency in the implementation.
Completeness
The design must cover as many important situations as is practical. All reasonably expected cases should be covered. Completeness can be sacrificed in favor of any other quality. In fact, completeness must be sacrificed whenever implementation simplicity is jeopardized. Consistency can be sacrificed to achieve completeness if simplicity is retained; especially worthless is consistency of interface.

Gabriel argues that early Unix and C, developed by Bell Labs, are examples of this design approach.

The MIT approach

Gabriel contrasts the philosophy of "Worse is better" to the so-called "MIT approach" (also known as "the Right Thing"), which he describes as follows in The Rise of "Worse is Better". Contrasts to "Worse is better" are in bold:

Simplicity
The design must be simple, both in implementation and interface. It is more important for the interface to be simpler than the implementation.
Correctness
The design must be correct in all observable aspects. Incorrectness is simply not allowed.
Consistency
The design must be consistent. A design is allowed to be slightly less simple and less complete to avoid inconsistency. Consistency is as important as correctness.
Completeness
The design must cover as many important situations as is practical. All reasonably expected cases must be covered. Simplicity is not allowed to overly reduce completeness.

Effects

Gabriel argues that "Worse is better" produces more successful software than the MIT approach: As long as the initial program is basically good, it will take much less time and effort to implement initially and it will be easier to adapt to new situations. Porting software to new machines, for example, becomes far easier this way. Thus its use will spread rapidly, long before a program developed using the MIT approach has a chance to be developed and deployed. Once it has spread, there will be pressure to improve its functionality, but users have already been conditioned to accept "worse" rather than the "right thing". "Therefore, the worse-is-better software first will gain acceptance, second will condition its users to expect less, and third will be improved to a point that is almost the right thing. In concrete terms, even though Lisp compilers in 1987 were about as good as C compilers, there are many more compiler experts who want to make C compilers better than want to make Lisp compilers better."[2]

Gabriel credits Jamie Zawinski for excerpting the worse-is-better sections of "Lisp: Good News, Bad News, How to Win Big" and emailing them to his friends at Carnegie Mellon University, who sent them to their friends at Bell Labs, "who sent them to their friends everywhere." He apparently connected these ideas to those of Richard Stallman and saw related ideas that are important in the design philosophy of Unix, and more generally in open-source movement, both of which were central to the development of Linux.

Gabriel's work may have been influenced by an essay entitled "More is Less."[citation needed] It was an attack on bloated software design, taking the Unix programs more and less for examples (the pun being a typical example of hacker humor). It is also reminiscent of a philosophy espoused by Fred Brooks' The Mythical Man-Month. Brooks advocates "growing" software organically through incremental development, devising and implementing the main and subprograms right at the beginning and filling in the working sub-sections later. He believes that programming this way enthuses the engineers and provides a working system at every stage of development.

Gabriel later answered his earlier essay with one titled Worse Is Better Is Worse[3] under the pseudonym "Nickieben Bourbaki" (an allusion to Nicolas Bourbaki).

See also

References

  1. ^ Worse Is Better (Richard P. Gabriel, personal recollection)
  2. ^ Lisp: Good News, Bad News, How to Win Big, Richard P. Gabriel
  3. ^ Worse Is Better Is Worse (PDF) (Richard P. Gabriel as "Nickieben Bourbaki")

External links

Advertisements

Advertisements






Got something to say? Make a comment.
Your name
Your email address
Message