- このテキストは、コード最適化と適切なデータ構造およびアルゴリズムの選択に関する指針として、Rob Pikeのプログラミングにおける5つのルールを論じている。
- ルール1は、プログラマーはプログラムが時間の大半をどこで費やすかを予測できないとし、実際のボトルネックを確認した後にのみ速度改善のためのハックを実装すべきだと示している。
- ルール2は、速度向上のための調整を行う前に測定することの重要性を強調しており、コードの一部が全体の性能に大きな影響を与える場合にのみ最適化を行うべきだと示唆している。
- ルール3は、入力サイズ(n)が小さいときに複雑なアルゴリズムを使うことへの警告であり、大きな定数のためにかえって遅くなる傾向があるとしている。
- ルール4は、単純なアルゴリズムとデータ構造の使用を勧めており、これらは複雑なものに比べてバグが入りにくく、実装もしやすい。
- ルール5は、適切なデータ構造の選択によって適切なアルゴリズムが自明になることがあるとし、プログラミングにおけるデータ構造の中心性を強調している。
- Pikeのルール1と2は、Tony Hoareの有名な言葉「早すぎる最適化は諸悪の根源である」を反映している。
- Ken ThompsonはPikeのルール3と4を「迷ったらブルートフォースを使え」と言い換えており、これはKISS(Keep It Simple, Stupid)の設計哲学と一致する。
- ルール5はしばしば「賢いオブジェクトを使って愚かなコードを書け」と要約され、これはFred Brooksの著書 The Mythical Man-Month でも以前に言及されていた。
1件のコメント
Hacker Newsのコメント