UNIXという考え方

 

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

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

序文
謝辞
日本語版刊行に寄せて
日本語版監訳者より

イントロダクション

第1章 UNIXの考え方:たくさんの登場人物たち
1.1 UNIXの考え方:簡単なまとめ

第2章 人類にとっての小さな一歩
2.1 定理1:スモール・イズ・ビューティフル
2.2 やさしいソフトウェア工学
2.3 定理2:一つのプログラムには一つのことをうまくやらせる

第3章 楽しみと実益をかねた早めの試作
3.1 定理3:できるだけ早く試作を作成する
3.2 人間による三つのシステム
3.3 人間による第一のシステム
3.4 人間による第二のシステム
3.5 人間による第三のシステム
3.6 第三のシステムの構築

第4章 移植性の優先順位
4.1 定理4:効率より移植性
4.2 事例研究――Atari 2600
4.3 定理5:数値データはASCIIフラットファイルに保存する
4.4 事例研究――あるUNIXプログラマの道具袋

第5章 これこそ挺子の効果!
5.1 定理6:ソフトウェアの梃子を有効に活用する
5.2 定理7:シェルスクリプトを使うことで梃子の効果と移植性を高める

第6章 対話的プログラムの危険性
6.1 定理8:過度の対話的インタフェースを避ける
6.2 定理9:すべてのプログラムをフィルタにする
6.3 UNIX環境:プログラムをフィルタとして使う

第7章 さらなる10の小定理
7.1 (1) 好みに応じて自分で環境を調整できるようにする
7.2 (2) オペレーティングシステムのカーネルを小さく軽くする
7.3 (3) 小文字を使い、短く
7.4 (4) 木を守る
7.5 (5) 沈黙は金
7.6 (6) 並行して考える
7.7 (7) 部分の総和は全体よりも大きい
7.8 (8) 90パーセントの解を目指す
7.9 (9) 劣るほうが優れている
7.10 (10) 階層的に考える

第8章 一つのことをうまくやろう
8.1 UNIXの考え方:総括

第9章 UNIXと他のオペレーティングシステムの考え方
9.1 Atariホームコンピュータ――芸術としての人間工学
9.2 MS-DOS――7000万人以上のユーザが間違っているはずがない
9.3 OpenVMS――UNIXへのアンチテーゼ?

索引

まず驚くのは、たった数年の間でメモリはバカでかくなり、CPUは爆速になったということ。


わずか10年と少し前だとは思えないくらい、本書の内容と現在のマシンスペックは雲泥の差がある。


てか、ほんと、早く進化しすぎ。

メモリ16ギガとか普通のパソコンに要るか? 



 この本はどちらと言えば「UNIXシステムを扱うことはあるけど、正直よくわかんね! ('A`)マンドクセ」
という人向けの本。

 自分がまさしくそれで、/var/log/ とか/etc/httpd/conf/httpd.conf とかなんか暗記している基礎配置みたいのはあるけど、なんでこんな配置なのかはわからんし、どのへんがUNIXの優れてるとこなのかはわかんね!

 というなんちゃってUNIXLINUX)使いなのでこの本はありがたい存在だった。




まぁ、UNIXの哲学は「シンプルなのは良いことだ」、「小さいことは良いことだ」ってことです。


どでかいプログラムをせっせこ書くよりか、小さなメソッドに分割して、それを再利用しろよってことです。



ちっちゃければ、メモリ食わないし、組み合わせも簡単だし良いこと尽くめですな。


そんなUNIXの哲学を体現するのがshell scriptなんだってさ。





なんかとりあえず低級言語で書けばおk.と思っていた私がバカでした。Cで書きなおすよか、シェルスクリプト使ったほうが結果的には早くなることのほうが多いらしい。


実行速度うんぬんという点で見れば、Cは早いかもしらん。でも、今のマシンスペックでそんなに実行速度って重要なの?


それより移植性を高めて、使い回しできるようにしたほうが結果としてローコストじゃない?


しかもUNIXシェルスクリプトはほとんどが「たった1つのことをこなすだけ」なので、組み合わせもラックラクー。

sortしたいならsortする奴を探して組み合わせればおkだし。いやぁ、楽ちん。





そうか、今までシェルスクリプトをバカにしていたよ。春休みはシェルスクリプトと戯れることにしよう。