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