プログラミング言語C 第2版 ANSI規格準拠

C言語を学ぶ上でのバイブルともいえるカーニハン&リッチーの本です。第3章、第4章くらいまでは他のプログラム言語を勉強したことがあれば、同じ作法が書いてあるのでそんなに難しいことはないと思います。
第5章のポインタと配列の部分は、配列の部分だけなら他の言語とそんなに差異はないのですが、ポインタのとおろは、アセンブラでメモリを直接触るという感覚がなく、高級言語しか触ったことのない人だと感覚的な理解が難しいのではないでしょうか。
私の場合は、ワークステーション上で計算をするために当時はfortranとCでコードを書いていたので、こうしたポインタや次の章に出てくる構造体、共用体を駆使する必要はありませんでしたので、その意味では科学技術計算に必要な範囲での利用が当初の目的でした。
その後、unixそのものに興味が高まり、いろんなツール系のソフトをワークステーションにインストールするにつrれて、この本の深さが分かるようになりました。この本に出てくるコードの例は、unixのツールの骨子だったり(wcとか、atoiとか、isdigitとか)、データ構造、メモリ管理のところは、unixで使われているものを簡略化しており、非常に良質なコードが提示されています。8章のunixシステムインターフェースの部分も、unixの仕組みが分かるにつれその価値を実感し、Cあってのunixだな、という感じを強く感じました。
その後、何度もこの本は手元において読み込んでいます。簡単な処理するのは今ではrubyですが、JavaよりもCの方が触っていた期間が長いため未だにCの方が自分にとっては馴染んでいます。
プログラムの入門書としてはいろいろあるかと思いますが、Cの真髄を知りたい人、unixを深く理解したい人には手元に置いておくべき本ではないでしょうか。ここに書いてあることがだいたい分かったら後は知りたいプログラムのソースを読むのが一番よいと思います。

コメント

タイトルとURLをコピーしました