はじめに
UNIXという考え方―その設計思想と哲学という本を読んで,
今後に活かせそうだと感じた点をまとめてみました.
その①:Small is beautiful (定理1より)
- 大きな何かよりも小さい何かの方が,人間にはわかりやすいし,理解しやすい
- 当然,保守も容易で結果的に費用対効果が大きくなる
- システムリソースを小さく
- 他のツールと簡単に結合・再利用できる
その②:1つのプログラムには1つのことをうまくやらせる (定理2より)
- やるべきことの本質を理解できているはず.このプログラムが書けないならば,それは理解できていないということ
- 小さくするには,目的を絞る必要がある
- 1つのプログラムで1つの問題を解決
その③:できるだけ早く試作を作成する (定理3より)
- アイデアがものになりそうかどうが,目に見える現実的な場面でテストするには試作が一番.試作以前のアイデアは憶測の域をでない.
- 完璧を待ちすべてが遅れてからやるより,まだ万事が流動的な初期段階から変更する方が良いにきまっている
- 試作を作ってみれば,何がうまくいくか?そしてより重要なことに,何がうまういかないかがわかる
- 試作は,1つのことだけ行う小さなプログラムを使い,徐々に進めていくといい.何かの機能が必要になるたびにそれを小さなプログラムとして追加していけばいい
その④:効率より移植性 (定理4より)
- ソフトウェアは作るものではなく,成長していくもの
- 新しいアーキテクチャを採用できるよう,試作では効率よりも移植性を優先させる.結果,移植できるものは生き残る
その⑤:ソフトウェアの梃子を有効活用する (定理6より)
- よいプログラマは良いコードを書く.偉大なプログラマは良いコードを借りてくる.
- コードを他社が梃子として使うことを認める
- すべてを自動化する
- プログラマの仕事の結果は,誰のどのような仕事であれ,複利計算で増大し,大きな梃子の効果を発生させる
- 梃子の効果を最大限に発揮するためにも,独自技術症候群を絶対に避ける
- 誰かがすでにやっていることを改めてやり直すのは,時間の無駄
- 今日,世界に尊大するソフトウェアは偉大な共有資産.種をまくだけでなく,実った稲穂は刈り取ろう.もちろん合法的な方法で
メモ:UNIXの考え方の定理
定理1:Small is beautiful
定理2:1つのプログラムには1つのことをうまくやらせる
定理3:できるだけ早く試作を作成する
定理4:効率より移植性
定理5:すべてのファイルはASCll形式で保存する
定理6:ソフトウェアの梃子を有効活用する
定理7:シェルスクリプトを使うことで梃子の効果と移植性を高める
定理8:過度の対話的インタフェースを避ける
定理9:すべてのプログラムをフィルタにする