シンプリシティの法則

古本屋で何気なく見つけて、Plan9日記的に興味のあるテーマなので手に取ってみた。

世界でトップクラスのデザイナーはみな、何かを見るとき目を細める。木を見て森を知るためにーー正しいバランスを発見するためにーー目を細める。目を細めて世界を見ることだ。見るものを減らすことによって、わかることが増えるのである。

コードリーディングとかコードの清書(リファクタリング)に通じる話だな。

これと似た話で、情報量が多ければ多いほどよい訳じゃないというのが次。

空白あるいは何らかの余分な空間が与えられれば、科学技術者はその広々とした場所を埋めるものを発明するだろう。同じように、ビジネスマンは失ってしまうかもしれないチャンスを逃したくないはずだ。一方、デザイナーは空白を守るためにベストを尽くそうとするだろう。無は重要な何かだと考えているからだ。余白の量が増えることで失われるチャンスは、残っているものへの注目が高まることによって取り戻される。余白が増えれば、提示される情報は減ることになる。すると、それに比例して、減少した入手可能なものに対してより多くの注意が払われるはずだ。

ミスリーディングなんだけど、80x25の画面あたりのブラックネス(というか文字数のうまり具合)ってのを比較してみたら何か傾向が出るだろうか? インデント(タブ文字)とかコメント量でも影響受けそうだけど。

ネジの操作は一見シンプルだが、実はそうでもない。(略)ネジのデザインがシンプルであっても、それをどちらに回せばいいのかを知る必要がある。知識はすべてをシンプルにする。

変数や関数の命名規則という些細な問題からはじまって、「知識はすべてをシンプルにする」というのはプログラミングの至る所で顔を出しそうな命題だな。research UNIXPlan9のシンプルさは、UNIX哲学の理解というある種の知識を前提に成り立っていると言える。

ところでネジと聞いて思い出すのが「よいAPIの設計を学ぶためには、ネジの標準化の歴史を調べろ」という昔の人の説教。

シンプリシティの法則

シンプリシティの法則