# UNIXという考え方 ## 第1章 - AT&Tのケン・トンプソンが1969年に発明した - タイムシェアリングシステム - 移植性の高さ - アセンブリ -> B言語 -> C言語(1973 デニス・リッチーが開発) - 偉大なプログラムは、追い詰められた人間が書く。書ける可能性が高いのは - それが実用的でなくてはならず - どうやれば正しくできるか知っているエキスパートがまわりにおらず - それを「正しく」やる時間がない - 沢山のContributerに支えられた ### 第1章 1節 - 9つの定理 - 10つの「UNIX文化」 - モバイルコンピュータの発展は、移植性について何事かを語っている? - フォルクスワーゲン「スモール・イズ・ビューティフル」 - サン・マイクロシステム「一つのことをうまくやろう」 ## 第2章 フォルクスワーゲンが小型車を普及させたのと同時代にベル研も「スモール・イズ・ビューティフル」に気づいた ### 2.1 定理1「スモール・イズ・ビューティフル」 - 例: `cp`, `test`(ファイルが読めるかどうかチェックする) - UNIX的思考から離れていること - 関数の引数が1行(80文字くらい)で収まらない - サブルーチンが1画面(40行くらい?)を超える - コメントを読まないと理解できない - `ls`した結果が1画面に収まらない - グローバル変数を定義するためにコードが肥大化する - (プログラムの)エラーメッセージをどう条件設定したかわからない - ソースを印刷している - 「プログラムは大きいほうが良い」は間違っている - 小さなプログラムは保守しやすく、システムリソースに優しい