インターネットデパート - 取扱い商品数1000万点以上の通販サイト。送料無料商品も多数あります。

エキスパートCプログラミング―知られざるCの深層 (Ascii books)

価格: ¥3,417
カテゴリ: 単行本
ブランド: アスキー
Amazon.co.jpで確認
C使いの試金石として ★★★☆☆
この本読んで,その内容に納得したり笑ってしまったりツッコミを入れられるようになっていれば,C使いとしてとりあえず一人前,かもしれません。
最後に仕上げに ★★★★★
C言語も入門書を読めば何となく書けるようになります。
しかしその意味を理解しているかどうかでは雲泥の差があります。

たとえば、内容を引用しますが、

const int limit = 10;

においてlimitの値は変わらないと思いがちですが、
limitのアドレスが指す値は変わりませんが、そのアドレスは変更可能なので、
結局limitの値も変えることができてしまいます。
言われれば気付くのですが、誰もこんなこと言ってはくれないでしょう :)

また、多くのバグや実例のある失敗談が豊富に記載されています。
その部分は読み物としても面白いし、自分も間違ったコードを書いてるんじゃないかと身震いします。

Cを書くことを生業とする人には是非読んでおいてほしい一冊です。
このほんの話題で盛り上がれば、その人にコーディングを任せても安心でしょう。
Cの本ではない、Cの本 ★★★★★
この本の最も楽しい所は、「Cの本ではない」ということだろう。

Cという言語はCという「言語だけで」できているわけではない。そもそもがプリプロセス処理をやってから本チャンのコンパイルをし、結果をアセンブラで出し、オブジェクトファイルにし、リンカーでライブラリとくっつける…というこれだけのことをやってやっと実行可能ファイルが出来上がる、というのがそもそものデザインだ。

当然、「言語上は何がどうなっているのか」だけでは100%使いこなせない、という事になる。「それはアセンブラに直ったときにどうなっているのか」とか「リンカーは何をしているのか」とか、実はそういった事をきちんと理解して初めて使いこなせるようになる。もちろん、バイナリになれば終わりってわけじゃない。実行する際にはカーネルのシステムコールを呼ぶわけだけど、こいつがまたその先で何をやっているのかとか…。

たまに、最初から最後までC言語関係なしで話が進む章もある。これが最も楽しい。なおかつ、「C言語関係なしなのに」読み終わるとCでプログラムを書く場合の参考にちゃんとなっている。

コメントや突っ込みも含めて、楽しめるようになって欲しい。
「なんとなく動いている」からの卒業 ★★★★★
プログラマにおけるプロとアマチュアの違いの一つとして、
- アマチュアはなんとなく動いていればOKだが、
- プロは何故どうやって動いてるかまでわかってないといけない
といった部分があると思います。

この本は
- スタック、ヒープの違い
- BSSセグメント、dataセグメント、textセグメントの違い
など、なんとなく聞いたことはあるが、メモリ破壊の解析なんかを通じて現場で苦労しながら学んできたこと(あるいは先輩から一子相伝でワザを盗んできたこと)、あたりがひととおり書いてある数少ない本だと思います。


最初にこの本を読んでおけば良かったなぁとも思いつつ、
いきなりこの本読んでもワケがわからないかなとも思います。

Cでだいぶ物を作れるようになって、「なんとなく動いてる」から卒業したい方にお勧めだと思います。
Cプログラマ必読の良書(「外野席」を除いて) ★★★★★
Cでプログラムをある程度書けるようになってきてから読むと、とても楽しめる本。

筆者の語り口、題材の作り方が絶妙で、楽しく読ませてくれる。「配列とポインタの違い」や、「Cプリプロセッサの挙動」など、この本でしか読めない情報が入っているわけではないが、これだけ楽しく読める本はなかなか無い。

訳も良好で読みやすく、「K&R CとANSI Cの違い」など今となってはやや古くなってしまった話も一部にはあるが、全体としては古びておらず、今だに楽しめる。

この本、唯一の欠点は技術協力をした人のコメントが「外野席」の名前で、欄外のいろんな個所に入っている事だ。

「外野席」の中には有用な情報もあるが、買った人はこの人のコメントを読みたくて買っているわけではなく、「訳注」を越える範囲のメッセージを載せるのは良い翻訳方法とは言えないだろう。

上記のような欠点もあるものの、他に類をみない読んでて楽しい内容になっている。まだ読んでいないCプログラマは本屋をまわってでも内容を確認してみる価値はある。