Head First C ―頭とからだで覚えるCの基本

「チャート式技術書」とでもいうべき、半分おちゃらけた感じの技術書シリーズの一冊。 「Head First」は「頭から飛びけむ」ぐらいの意味で、「あまリ考えずにとにかく手を動かせ」というような ニュアンスなのかと思われる。 アメリカには「XXX for Dummies」というシリーズがあって、およそ考えつく すべてのジャンルをカバーしてたりするのだけど、日本にはあんまりこの種の 本はない。なんでだろう。よく考えるとちょっと不思議だ。

このシリーズ随分前からある(2003年にJavaがでている)のにいまごろになって C言語の本が出る(原著も2012年)というのは、 やっぱりおちゃらけたこのシリーズと、どこまで行っても ストイックなC言語の相性が悪いからなんだろうなあ。

はじめてちゃんとまえがきを読んでみたところ、脳の機能的に言って 無味乾燥な書き方だと絶対に覚えられないので、わざとおちゃらけて書いているのであると のこと。なるほど。 実際、技術的にはまったく無駄な内容を考えて書くのはほんとうに大変だろうと思う。 普通の本の3倍ぐらいの手間暇がかかってるんじゃないだろうか。 書ける人もそんなに多くないだろう。実際、原著者はCやUnixプログラミングの専門家 ではなくて、Head Firstシリーズばかり書いている人。

内容的にも結構すごくて、まったくの0から始まって、ポインタ、構造体、共用体などの 言語機能だけでなく、ヘッダファイルを使ったライブラリの分離、 Makefileを使ったビルド、 fork/execを使ったマルチプロセス、dup2を使ったプロセス間通信、 ソケットによるネットワーク通信、pthreadを使ったマルチスレッドまでたどり着いている。 C言語の本と言うよりは、Unix環境でのプログラミング入門みたいになっている。 実際、C言語だけを独立して勉強してもなんの役にも立たないので、 妥当な構成だと思う。 さらに、AudinoでのプログラミングやOpenCVを使っての画像処理、Allegroを用いてのアステロイド ベルトもどき作成までカバーしている。

実は、この本も縁あって監訳させていただいた。 Windows上でのCygwinやMinWGをサポートした関係で、システムコール周りの説明の 歯切れが悪いのが心残りだったりするのだけど、原著からの逸脱を最小限にしつつ 技術的に間違ってはいない内容にした、つもり。 正直、いまどきC言語の本にどのくらいの 需要があるのかわからない気もする。 でも、これまで全然C言語なんか触ったこと無いのに、新年度から 何かの間違いでC言語で開発しなければならなくなってしまった、なんて場合に C言語界隈のパースペクティブ全体を短時間で把握するには、 結構いい本なのではないだろうかと思う。 というわけで、どうかひとつ。

Head First C ―頭とからだで覚えるCの基本
David Griffiths Dawn Griffiths
オライリージャパン
売り上げランキング: 36,770