UNIX と C言語

  1. B. Kernighan & R. Pike: UNIX Programming Environment (邦 訳 石田晴久「UNIX プログラミング環境」 ASCII, 1987)
    「UNIX を勉強するなら、とにかくこれを読め」という、基本図 書。少々厚めの本だが、必要かつ十分な説明が手際よくまとめ られている。
    この本に書かれているプログラムは、優秀なプログラマの優秀 なプログラムである。いずれも実用性のあるものであり、実際 に入力することを奨める。上手なプログラムの書き方が身につ くはずだ。また、実際にプログラムを作りながらこの本を読む ことで、人間はどこ でつまずきがちで、どうすればそれを解決できるかを、身を持っ て理解することができるだろう。 入力したプログラムは、将来、より大規模なプログラムを作る ときの参考になるはずだ。

  2. B. Kernighan & Plauger: Software Tools (邦訳 木村泉「ソフトウェア 作法」共立出版)
    名著の名訳である。1970 年代、UNIX は文書処理の名目で研究 費を獲得して開発されたそうだが、この本は、文書処理のプロ グラムをいかに書くべきかを的確に示している。 この本のプログラムは、Fortran を C 言語風にした Ratfor と いう言語で書かれている。これを C 言語で書き直せば、非常に 良い勉強になる。

  3. B. Kernighan & D. Richie: The Programming Language C (邦 訳 石田晴久「プログラミング言語C」共立出版)
    C言語の本は何が良いかとときどき聞かれることがあるのだが、 いろいろ見比べてみると、結局この本が一番良いような気がす る。プログラムの基本概念、例えば、変数と代入、 条件分岐と繰り返し、手続きと関数、配列と構造体、といった ところが概ねわかっていれば(細かいところまで理解している必要 はないが、誤った理解をしていてはいけない)、この本を読む のが一番良いと思う。

  4. 金崎克己: UNIX プログラミング実践編、CQ出版
    UNIX について勉強しはじめたころ、UNIX とはなんなのか、理解が 混乱してくる時期がある。そんなときこの本が役に立つかもし れない。この本は、UNIX には、カーネル、シェル、C言語の3 つの大きな側面があるとし、それぞれから見た他の側面を簡潔・ 明解に著している。
    この本の良いところは、比較的薄い(300ページ)冊子の中に、役 に立つ情報が、これでもかこれでもかと押し込まれていること である。プログラムを作っていると、「このコマンドはどう 使うんだっけ?」、「このファイルはどう書くんだっけ?」と 思うことがしばしばあるのだが、そんなとき、この本にはエッ センスとなる情報が大抵書かれている。

  5. 山口和紀 監修:The UNIX Super Text (上・下) 技術評論社
    手前味噌になるが、この本を奨める。
    この本は、ワークステーション上の UNIX について、基本的な利用法から、 プログラミング、システム管理まで、 いつか必ず必要になるであろう情報をくまなく載せている。 とにかく、これ1冊(上・下あるので、実は2冊)あれば、 他の本を買わなくても何とかなる。そういう意味では、結構お徳な本である。 とくに、日常よく使う割に解説書が少ない、TeX、Xウィンドー、 メール、ニュース、tcsh の情報が1つにまとまっていているのは、 便利である。

  6. あさだ たくや 他「FreeBSD 徹底入門」

    PC Unix のインストール本としては、 いまのところ最も優れていると思われる。 OS が対応するハードウェア、具体的なインストール方法、 システム管理をするにあたって知っておくと便利なコマンドなどが、 詳しく書いてあり、OS のインストールにあたって不便はない。 それだけでなく、PC Unix を導入して最も必要とする (そして苦労する) Emacs や TeX などの日本語環境のインストールについても 詳しく書いてある。他の UNIX でアプリケーション・プログラムの インストールをするときにも役に立つのではないか。

  7. Harbison, Guy Steele: C - A Refernce Manual, Prentice-Hall (邦訳 新・詳説C言語、ソフトバンク)

    Scheme や CommonLisp の言語仕様の設計を中心になって行ない、 最近では Java の言語仕様の設計に深く関わった Guy Steele による C 言語の解説書である。 水も漏らさぬほどの記述の詳細さ、正確さは、Guy Steele なればこそ。 この、細部までのこだわりが、プログラミングの現場で役に立つし、 記述のまとまりのよさが、鑑賞に値するものにすらなっている。

    また、ライブラリ関数の説明も嬉しい。