Difference between revisions of "User:Misfit138/The Arch Way v2.0"

From ArchWiki
Jump to: navigation, search
(User-Centric)
(Simple)
Line 12: Line 12:
 
==Simple==
 
==Simple==
 
'''''without unnecessary additions, modifications, or complications'''''
 
'''''without unnecessary additions, modifications, or complications'''''
 +
 +
"The central enemy of reliability is complexity." — Geer et al.
  
 
Simplicity is the primary principle. All other principles must be sacrificed in favor of design simplicity. Implementation simplicity is more important than interface simplicity.
 
Simplicity is the primary principle. All other principles must be sacrificed in favor of design simplicity. Implementation simplicity is more important than interface simplicity.

Revision as of 22:52, 4 July 2012

Simple

without unnecessary additions, modifications, or complications

"The central enemy of reliability is complexity." — Geer et al.

Simplicity is the primary principle. All other principles must be sacrificed in favor of design simplicity. Implementation simplicity is more important than interface simplicity.

Elegant

combining simplicity, power, effectiveness, a quality of neatness and an ingenious grace of design

The French aviator, adventurer, and author Antoine de Saint-Exupéry gave us perhaps the best definition of engineering elegance when he said, “a designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.”

It is slightly more important to be simple than elegant.

User-Centric

accommodating competent users by giving them complete choice, control and responsibility over the system

"One of my most productive days was throwing away 1000 lines of code."— Ken Thompson

Arch is founded upon sensible design and excellent documentation, necessarily implying a "do-it-yourself" approach. User-centric design is more important than versatility and expedience, yet less important than elegance and simplicity.

Versatile

capable of doing many things competently; having varied uses or many functions

A simple and elegant system often becomes versatile by nature, but must be designed as simple first and foremost. Versatility must be sacrificed in favor of simplicity. Also less important than user-centricity and elegance, but more important than expedience.

Expedient

easy, or quick; convenient

The simple, elegant and versatile system must offer expedience where practical, but expedience can and will be sacrificed in favor of any of the above. It must be sacrificed whenever implementation simplicity is jeopardized. When expedience is compromised by a resulting complexity of user interface, it must present its complexity without unnecessary complication.