Worse is Better
   HOME

TheInfoList



OR:

Worse is better (also called the New Jersey style) is a term conceived by Richard P. Gabriel in an essay of the same name to describe the dynamics of software acceptance. It refers to the argument that software quality does not necessarily increase with functionality: that 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 the reverse. As to the oxymoronic title, Gabriel calls it a caricature, declaring the style bad in comparison with "The Right Thing". However he also states that "it has better survival characteristics than the-right-thing" development style and is superior to the "MIT Approach" with which he contrasted it. The essay was included into the 1994 book '' The UNIX-HATERS Handbook'', and has been referred to as the origin of the notion of a conceptual split between developers on the east and west coasts of the United States.


Origin

Gabriel was a Lisp programmer when he formulated the concept in 1989, presenting it in his essay "Lisp: Good News, Bad News, How to Win Big". A section of the article, titled "The Rise of 'Worse is Better, was widely disseminated beginning in 1991, after Jamie Zawinski found it in Gabriel's files at
Lucid Inc. Lucid Incorporated was a Menlo Park, California, Menlo Park, California-based computer software development company. Founded by Richard P. Gabriel in 1984, it went bankrupt in 1994. History The first CEO was Tony Slocum, formerly of IntelliCorp ...
and emailed it to friends and colleagues.


Characteristics


New Jersey style

In ''The Rise of Worse is Better'', Gabriel identified a "Worse is Better" (also the "New Jersey style" or "east coast") model of software design and implementation which has the characteristics (in approximately descending order of importance): ; Simplicity: The design must be simple, both in implementation and interface. ''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 should 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.


The MIT approach

Gabriel contrasted his philosophy with what he called the "
MIT The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the m ...
/Stanford style of design" or "MIT approach" (also known as the "west coast" approach or "the Right Thing"), which he described as: ; Simplicity: The design must be simple, both in implementation and interface. 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 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. Gabriel argued that early
Unix Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, an ...
and C, developed by
Bell Labs Nokia Bell Labs, originally named Bell Telephone Laboratories (1925–1984), then AT&T Bell Laboratories (1984–1996) and Bell Labs Innovations (1996–2007), is an American industrial Research and development, research and scientific developm ...
, are examples of the worse-is-better design approach. He also calls them "the ultimate computer viruses".


Effects

Gabriel argued that "Worse is better" produced 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 (
first-mover advantage In marketing strategy, first-mover advantage (FMA) is the competitive advantage gained by the initial ("first-moving") significant occupant of a market segment. First-mover advantage enables a company or firm to establish strong brand recognitio ...
). 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": Gabriel credits Jamie Zawinski for excerpting the worse-is-better sections of "Lisp: Good News, Bad News, How to Win Big" and e-mailing 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 the open-source movement, both of which were central to the development of
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
. In December 2000 Gabriel answered his earlier essay with one titled ''Worse Is Better Is Worse'' under the
pseudonym A pseudonym (; ) or alias () is a fictitious name that a person or group assumes for a particular purpose, which differs from their original or true name (orthonym). This also differs from a new name that entirely or legally replaces an individua ...
Nickieben Bourbaki (an allusion to Nicolas Bourbaki), while also penning ''Is Worse Really Better?'', applying the concept to
C++ C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
's success in the field of
object-oriented programming Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code. The data is in the form of fields (often known as attributes or ''properties''), and the code is in the form of ...
despite the existence of more elegant languages designed around the concept. The '' UNIX-HATERS Handbook'' includes ''Worse is Better'' as an appendix, and frames the concept in terms of worse-is-better in the form of Unix being "evolutionarily superior" to its competition.


See also

*
Gresham's Law In economics, Gresham's law is a monetary principle stating that "bad money drives out good". For example, if there are two forms of commodity money in circulation, which are accepted by law as having similar face value, the more valuable com ...
* Less is more * Minimum viable product *
Perfect is the enemy of good Perfect is the enemy of good is an aphorism which means insistence on perfection often prevents implementation of good improvements. The Pareto principle or 80–20 rule explains this numerically. For example, it commonly takes 20% of the full tim ...
* Progressive disclosure *
Satisficing Satisficing is a decision-making strategy or cognitive heuristic that entails searching through the available alternatives until an acceptability threshold is met. The term ''satisficing'', a portmanteau of ''satisfy'' and ''suffice'', was introduc ...
*
Rule of least power In programming, the rule of least power is a design principle that "suggests choosing the least powerful omputerlanguage suitable for a given purpose". Stated alternatively, given a choice among computer languages, classes of which range from ...


References

{{Reflist, refs= Worse is Worse, Jim Waldo, Sun Microsystems engineer
/ref> Worse is Better vs. Better is Better
/ref>
/ref>
/ref> Worse Is Better Is Worse (PDF), Richard P. Gabriel as "Nickieben Bourbaki"
/ref> Is Worse Really Better, Richard P. Gabriel
/ref> {{cite web , url=http://danweinreb.org/blog/the-worse-is-better-idea-and-the-future-of-lisp , title= The "Worse is Better" idea and the future of Lisp , author = Daniel Weinreb , author-link = Daniel Weinreb , archiveurl=https://web.archive.org/web/20090611174852/http://danweinreb.org/blog/the-worse-is-better-idea-and-the-future-of-lisp , archivedate=June 11, 2009 {{cite web, url=https://yosefk.com/blog/what-worse-is-better-vs-the-right-thing-is-really-about.html, title=What "Worse is Better vs The Right Thing" is really about, first=Yossi, last=Kreinin, date=August 11, 2012, access-date=2018-11-24, website=Proper Fixation English phrases Software development philosophies Software design Programming principles Quality management