Mike Gancarz『UNIXという考え方』

http://id.ndl.go.jp/bib/000002965498
Mike Gancarz 著『UNIXという考え方 : その設計思想と哲学』芳尾桂 監訳、オーム社、2001年2月
★感想メモ

  • 魔法使いのひとりが面白かったと言っていたので読んだ。
  • 面白くてすいすい読んだ。タイトルとサブタイトルそのままの内容で、ここに書かれている「考え方」「思想」は、すべてとは言わないけれど半分くらいはいまの仕事に当てはめて「うむ、そうだな」と思えるものだった。といっても当てはめ先は、例えば文章の書き方とか、報告書の作り方とか、情報共有の仕方とかなので、この本に書かれていたようなシステムやプログラムとは別のことだけれども。
  • 私は面白く読んだけれど、UNIXというものはよく知らない。というかほとんど知らない。むしろまったく分かっていない。どのくらい分かっていないかというと、UNIXってなんだろうとググって、IT用語辞典とかWikipediaとかを読んで、「UNIXとは〜〜なOSのことである。」と書いてあるので「OSってなんだっけ」とググる、というくらいの分からなさ加減なので、たぶんほぼチンプンカンプンなレベルにいるのだと思う。なんやかんやとシステム系の言葉に触れることはあるので、概念モデル?みたいなものはときどき見ているはずだけれど、図式化されたものや比喩による説明などは、分かっていない人間にとっては煙にまかれて分かったような分からないようなという気分にさせられるだけなんだなということが分かるだけというところから進めず、結局のところ何がどうしてどうなっているのかを具体的には理解していなくてイメージできないので(例えば「OS」「オペレーティングシステム」でGoogle画像検索した結果から何かイメージできるか見てみてほしい。きっと「はぁっ?」ってなる。そういう感じ。)、つまみぐいの記憶がときどき出てくるけれど全体としてはよくわからないなと思うので、そのままチンプンカンプンから抜け出せない。
  • こんなレベルにいても、分からないことを分からないまま読み進めることができる人ならきっと楽しく読める本。

★定理メモ
(コロン「:」の右側は勝手なまとめ)

    1. スモール・イズ・ビューティフル:小さなプログラムは分かりやすく保守しやすくリソースを食わず他のツールと組み合わせやすい
    2. 一つのプログラムには一つのことをうまくやらせる:小さなプログラムになる
    3. できるだけ早く試作を作成する:すべては変化していくのだからはじめから完全なものを作らなくていい
    4. 効率より移植性:新しい技術に乗っかっていける
    5. 数値データはASCIIフラットファイルに保存する:読みやすく分かりやすく移動が簡単
    6. ソフトウェアの梃子を有効に活用する:既存の移植性の高いものを有効活用してコストをかけずに機能を高め、移植性の高いものを提供してより広く使ってもらう
    7. シェルスクリプトを使うことで梃子の効果と移植性を高める
    8. 過度の対話的インタフェースを避ける:ユーザは人間とは限らない
    9. すべてのプログラムをフィルタする:すべてのプログラムはフィルタである