nishiikatsumi’s diary

Long Live Reading Books

『C in a Nutshell』を読んで

 趣味で読みたくて本を購入するケースがほとんどですが、中には仕事で必要に迫られて、購入する本もありますよね。この本は必要に迫られて購入した本です。

 数年前に電子書籍で購入した本です。駆け出しのC言語プログラマだった私は、なんとかC言語をマスターしたいと思い、購入しました。

 

C in a Nutshell (In a Nutshell (O'Reilly))

C in a Nutshell (In a Nutshell (O'Reilly))

 

 この本を他人に薦めるかというと、微妙な感じの本です。条件付きで薦めると思います。

 まず、C言語を勉強する上で、最初の1冊目の本にしないこと。本の内容は膨大で読んでいくのに尋常じゃない努力を要します。しかも英語です。日本語で簡単に書かれたC言語の解説本を読んでから挑戦する本だと思います。

 そういうネガティブな面はありますが、それでもブログに書くのは、買って正解だったと思ったからです。簡単な解説書では省略されている内容を読むことができて、良かったと思っています。

 

 この本の内容に移りましょう。この本は3部構成です。第1部がC言語の言語仕様の解説です。第2部がC言語のライブラリ関数のリファレンスです。第3部がGNU等のソフトウェアツールを使った開発の解説です。

 主に読むべき内容は第1部です。第2部は辞書です。第3部は、開発現場によって適用できないケースもあるので、参考程度にすべきでしょう。GNUじゃないツールを使うケースもあると思いますので。

 

 第1部に関しても、主に読むべきはポインタ、構造体等の話で、制御構造などの話は、日本語の本で十分代用できるので、それほど注意して読む必要はないと思います。

 ただし、読んでみると、かなり詳しい知識が得られることは間違いありません。個人的な感想ですが、キャストに関して、int, long, float, double間でデータのやり取りを行った場合、データの精度がどのように変化するのかについては興味深く学ばせてもらいました。今、その記憶がぼやけているので、読み直したいと思います。

 第2部では、ライブラリ関数のリファレンスで、C99などの規格の関数が紹介されています。ワイド文字系の関数の記述も充実しています。

 

 この本の出版時期がやや古いので、最近のC言語の規格には、追随できていませんが、普通にC言語プログラミングを実施する場合には、十分対応できると思います。

 いい本です。

と書いていたら、年末に改訂版が出るようですね。改訂版が出たら、新たに購入する必要があるか?考えたいと思います。

 

最後に、この本を読んだだけでは、現場で開発できるC言語プログラマにはなれません。この本は、C言語の言語仕様の解説が主です。現場で活躍するためには、C言語を使って実現したデータ構造やアルゴリズム等の知識を使いこなせるようにする必要があります。