http://ja.wikipedia.org/wiki/X_Window_System
なかなか興味深い。
- 実際のアプリケーションでどうしても必要という場合以外は、新機能を追加するな。
- システムが何でないのかを定義することは、何であるのかを定義するのと同じように重要である。あらゆるニーズに答える必要はない。むしろ、互換性を維持した状態で拡張可能にしておけ。
- 1つでも例を挙げて一般化したほうが、全く例を挙げずに一般化するよりもマシである。
- 問題が完全に把握できないときは、解決策も提供しないのが最善の方法である。
- 作業の10%について90%の効果しか得られないときは、単純な解法を使え。
- 複雑さは可能な限り分離せよ。
- ポリシーよりも機構を提供せよ。特にユーザインタフェースのポリシーはクライアント側に任せておけ。