UNIXという考え方

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学


読了。読み物です。UNIXの設計思想を綴った本。
以下、本書で紹介されているUNIXの考え方を構成する定理を引用。

  • スモールイズビューティフル
  • 一つのプログラムには一つのことをうまくやらせる
  • できるだけ早く試作を作成する
  • 効率より移植性
  • 数値データはASCIIフラットファイルに保存する
  • ソフトウェアの梃子を有効に活用する
  • シェルスクリプトを使うことで梃子の効果と移植性を高める
  • 過度の対話的インターフェースを避ける
  • すべてのプログラムをフィルタとして使う

設計思想っちうことでなにかもっと仰々しいものを勝手に想像していたのだがこうしてみるとプログラムのモジュール化、プロトタイピングによる開発、移植性を考慮したデータの永続化などなど、UNIXに限らずソフトウェア開発において割りと馴染み深い考え方が多くてなるほどという感じ。逆にいうと自分的にはあまり目新しい考えはなかったかも。
過度の対話的インターフェースを避ける、なんかは結構面白かったかな。「プログラムはプログラムから処理できるようにしとけ!」、みたいな。拘束的プログラムはユーザを人間と想定しており、ユーザの応答を待つ間はコンピュータの処理速度を人間の速度まで落とすことになるし、プログラムをプログラムで処理することによる梃子の効果を得ることもできない。GUI涙目www。

まあもちろんファイル削除するのにいちいち確認してきたりダイアログだしたりするプログラムが常にクソってわけではなくてその結果得られる安全性やらわかりやすさやらを否定するものではないと思うけどUNIXはそゆ方向は目指さないよんちうこと。
CUIマンセーな方からみれば何をいまさらって感じもあるけどこゆ考え方に全く触れたことない人は一度読んでみるといーかもしれない。
薄いし。