Xの設計思想

http://ja.wikipedia.org/wiki/X_Window_System
なかなか興味深い。

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