System Philosophy
- No news is good news
- Do one thing and do it well
- Don't repeat yourself
- Do the simplest thing that could possibly work
- Don't reinvent the wheel
- Follow the standard
- Convention over configuration
- With freedom comes responsibility
- Use flat text file
- Save data in plain string
- Least surprise
- Premature optimization is the root of all evil
Programming Philosophy
- Beautiful is better than ugly
- Explicit is better than implicit
- Simple is better than complex
- Complex is better than complicated
- Flat is better than nested
- Sparse is better than dense
- Readability counts
- Special cases aren't special enough to break the rules
- Although practicality beats purity
- Errors should never pass silently
- Unless explicitly silenced
- In the face of ambiguity, refuse the temptation to guess
-
There should be one-- and preferably only one --obvious way to do it
- Although that way may not be obvious at first unless you're Dutch
- Now is better than never
- Although never is often better than *right* now
- If the implementation is hard to explain, it's a bad idea
- If the implementation is easy to explain, it may be a good idea
- Namespaces are one honking great idea -- let's do more of those!
Quotes
-
John Gall, from Systemantics, as quoted in
Chapter 1. Government As a Platform
-
A complex system that works is invariably found to have evolved
from a simple system that worked. The inverse proposition also
appears to be true. A complex system designed from scratch never
works and cannot be made to work. You have to start over beginning
with a working simple system