  I've been reading and thinking about the usefulness of the Semantic Web recently, and ran across the article urlLink The Semantic Web, Syllogism, and Worldview on urlLink Clay Shirky's site .
Logical sylogisms don't work in the real world - we are too inconsistent! Simplification of complex topics allows real (but sometimes inconsistent) answers to be formed. So, what are the most important aspects of design? Richard Gabriel in urlLink The Rise of 'Worse is Better' asserts these design rules: 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 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 sacrificed whenever implementation simplicity is jeopardized. Consistency can be sacrificed to achieve completeness if simplicity is retained; especially worthless is consistency of interface.
For examples of these design rules in action, Gabriel turns to Unix and C. He also describes such systems as 'viral', but I believe 'successful' is a more accurate term. 'Viral' sounds urlLink destructive . So, a system must be Simple, Correct, Consistent, and Complete , in that order, to be successful. Some would say these rules make programming more urlLink like art than engineering, but I would argue that all well engineered systems are like art. Design the exercise of creating simple representations of comlpex interactions while meeting a goal (hence "correct, consistent, and complete"). 
