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画面に収まらない

    • グローバル変数を定義するためにコードが肥大化する

    • (プログラムの)エラーメッセージをどう条件設定したかわからない

    • ソースを印刷している

  • 「プログラムは大きいほうが良い」は間違っている

  • 小さなプログラムは保守しやすく、システムリソースに優しい