Google
 
   
Login
Username:

Password:


Lost Password?

Register now!
Search
Main Menu
top books
Polls
What do you think about php-deluxe.net?
Excellent!
Cool
Hmm..not bad
What the hell is this?
encyclopedia
recommendation
compare webbrowser
Freenet DSL
Who's Online
3 user(s) are online (3 user(s) are browsing encyclopedia)

Members: 0
Guests: 3

more...
browser tip
Unix Befehle
manual of unix befehle
recommendation!
Sponsored
partner

Worse is better

Worse is better , also called the New Jersey style, is the name of a computer software design approach (or design philosophy) in which simplicity, of both interface and implementation is more important than any other system attribute (including correctness, consistency, and completeness).

This design style was first clearly described by Richard P. Gabriel in his essay, The Rise of Worse is Better , originally part of his work Lisp: Good News, Bad News, How to Win Big but often reprinted as a separate work.

Gabriel characterizes Worse is better as emphasizing the following attributes:

  • Simplicity: the design must be simple in implementation and interface. However, it is more important for the implementation to be simple 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 implementational complexity or inconsistency.
  • 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.
  • He argues that early Unix and C programming language are examples of this design approach.

    Gabriel contrasts this philosophy to the so-called Massachusetts Institute of Technology approach (also known as The_right_thing ), which he describes as follows:

  • Simplicity: the design must be simple in implementation and interface. However, it is more important for the interface to be simple than the implementation.
  • Correctness: the design must be correct in all observable aspects. Incorrectness is simply not allowed.
  • Consistency: the design must not be inconsistent. 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.
  • Gabriel argues that Worse is better is generally superior to the MIT approach . As long as the initial program is basically good, it is easier to port to new machines and situations, and will take much less time and effort to implement initially. 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 it by improving its functionality, but users have already been conditioned to accept worse 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 programming language 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.

    Closely related ideas are important in the Unix philosophy and in the open source.

    =See also=

    *UNIX-HATERS Handbook

    = References =

    *[http://www.ai.mit.edu/docs/articles/good-news/good-news.html Lisp: Good News, Bad News, How to Win Big], Richard P. Gabriel.

    =External links=

    *[http://dreamsongs.com/WorseIsBetter.html Worse is Better], Richard P. Gabriel