C言語 中級〜
メモリの中身を知れば、よりC言語が楽しくなります

C言語の強みはハードウェアにより近い水準の処理ができる事。その中でもメモリ管理は強力な手段です。
言語が生まれた時代背景や設計思想を知り、C言語の根本を理解すれば色あせない武器になります。

不満は色々( []の扱いとか、ポインタ宣言文とか )ありますが、私はC言語が好きです。
メモリやハードウェアとの親和性、シンプルな言語仕様、当時としては野心的な作りで世界中に広がったのも頷けます。
作者デニス・リッチーとケン・トンプソンの回想を読むと、彼らの情熱と苦労が垣間見えて一層愛着が涌きますよ。

不可解なバグに遭遇した時、原因究明に超×100有効なのはハードウェアの知識です。
そういった低水準処理の理解を深める為にも、C言語を学ぶ意義がある!と、いつも学生に力説しています。


C言語ポインタ完全制覇
標準プログラマーズライブラリ)
前橋 和弥
4774111422

★★★★★

 C言語で誰でもがつまづき易いポインタを超×100(口癖)分かり易く解説!

軽い文体で具体例を見せながらポインタの真相に迫って行きます。読み進むにつれ、C言語の謎が少しずつ解けて来る良書の中の良書です。

C言語の基礎は出来たけどメモリ関連の理解があやふやな人には、是非とも読んで欲しい一冊です。
私自身も学生時代これを読んで「おーなるほど!」と思い、ようやくポインタを理解出来ました。そこからプログラミングの授業の成績が一気に上がり、今でも感謝しています。

またC言語の不思議な文法に関する記述も多く、「なぜそんな文法になっているのか?」を色々解説しています。
意味も分からず書いていた事の理由が分かれば、より一層言語仕様への理解が深まると思いますよ。


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

ピーター ヴァン・デ・リンデン Peter van der Linden
4756116396

★★

 私のC言語カテゴリーお薦めナンバーワンはこれです。

書名に気後れしそうですが、開けてみると皮肉とユーモアに溢れた楽しいプログラミング本でした。 ノリはやや(かなり?)軽いですがC言語の細かい部分を丁寧に解説しているので、中途半端だった事柄を再確認する際には大変便利です。

特にポインタ・配列・メモリ絡みの説明や「Cの言語仕様に対するチャチャ入れ」などは、他の書籍ではあまり見られない秀逸な内容になっています。

またプログラミングに関する小ネタや与太話が随所に散りばめられており、著者のプログラミングに対する愛情がひしひしと感じられます。読みにくいソースの話、時間をさかのぼったプログラム、意外な原因のバグとクールな対処法などなど。

翻訳も素晴らしく、著者同様の軽いノリで色々ツッコミを入れている所が面白いです。
常識的な技術書とは一線を画す他に類を見ない一冊。私はボロボロになるくらい読みました。

絶版後に中古価格が高騰してるなぁ。。。


プログラミング言語C 第2版 ANSI規格準拠
B.W. カーニハン D.M. リッチー 石田 晴久
4320026926

★★★

 いわゆるC言語の原典.。全てはここから始まった歴史的一冊です。

C言語の設計思想に触れられ今でもたまに読み返すと新しい発見があったりして、その奥の深さに気付く事が多いです。
最近では、言語仕様の裏にカーニハンとリッチーの人間味が見え隠れするようになりました(まあ翻訳ですが)。

ただ書かれた時期が古いので、現在の観点で見ると理解しにくい事が多少あります。
とは言えそれは仕方ないでしょう。だって本書の初版が出たのいつだと思います?なんと1978年ですよ!昭和53年、王貞治がまだ現役だった時代です。
これぞまさしくロングセラー、技術書としては怪物的な記録です。

中級者以上なら見栄を張ってでも持つべき一冊。また古いからこそ、当時を知るタイムマシーンとしてもオススメしたいです。

ただ、これを入門書にするのはあまり薦めません。多分混乱します。
最初の「やさしい入門」が初心者に全く優しくないので、挫折する人を何人も見て来ました。

個人的な意見ですが、この本の正しい使い方は下記の通りです。
 ・中級以上の人が、時々読み返して理解を深める
 ・読みながら古き良き時代に思いを馳せる
 ・本棚の見える所に飾って悦に入る
 ・教室で読むふりをしてドヤる

ちなみに一番下は、私の黒歴史です…


叫ぶ!Cプログラマ―プロが説くCのカラクリと落とし穴
藤本 裕之
4881663763

★★★★

 くだけた文体で、著者の言いたい放題が炸裂する奇妙な一冊。

技術書というよりは読み物に近いで内容です。というかプログラミング以外の雑学が結構多いのですが、それが本編以上に?面白かったです。

この本の凄い所は、それでもC言語に関する解説はしっかりしている事です。
一見どうでもよさそうな雑談から始まり、実はそれがC言語の仕様に迫る切り口だったりするので、とても新鮮に感じました。

またその雑談の一つ一つから著者の豊富な知見がうかがえ、ユーモアに富んだ人間性や世界観が見えて来ます。上手く言葉には出来ませんが、一冊の中に何か大きなモノを感じました。

既存の堅く苦しい技術書に飽き飽きした時は、この本を読んでリフレッシュしましょう。


新・C言語入門 シニア編
(C言語実用マスターシリーズ)

林 晴比古
4797325623

★★★★★

 ビギナー編に引き続き、学生時代にお世話になった本です。そして今でも時々リファレンスとして使っているロングランブックでもあります。

私は本書を会社用と自宅用に買ったので2冊持ってます。わざわざ複数揃えた理由は、ひとえに内容のバランスが良いと感じたからです。

調べたい事柄をおおむねカバーし、適度な長さのサンプルソースが載っているので使い易い。そういった点で本書は優れていると思います。
まあサンプルではmain()の戻り値がint型じゃないなど違和感を覚える事もありますが、十分許容範囲なので満足して使っています。


改訂新版 Cプログラミング診断室
藤原 博文
4774117870

★★★★

 ダメなソースを例に挙げ、コードの修正を通じてプログラミングの心構えを説く珍しいアプローチの本です。

わたしもかつて同じようなダメソースと格闘した経験があるので、共感できる点が多いです。また「自分のソースもダメな例になっていないか?」確認するのにも役立ちました。

自称上級者にならない為に、多くの人が読んでくれると嬉しい一冊です。あと、なぜか裏表紙に漫画が隠されているので忘れず読んでおきましょう。


Cプログラミング専門課程
藤原 博文
4774100900

★★★★

 上と同じ著者の本です。本書はバグを通じて、正しいプログラミングを学ぶ事が出来るようになっています。

さらに特筆すべき点として、メモリ関連の解説がとても充実しています。メモリの中身を具体的に図示して解説してくれるので、今までよりイメージがつかみ易くなるかと思います。

C言語の基礎はマスターしたけど、ハードウェアのイメージがイマイチ沸かない人にお薦めです。また、初級者を脱した次のステップとしても有効な一冊です。


C/C++ミスプログラミング ケーススタディ (Front Programmer Series)
杉浦 賢
4798005274

★★★

 ついうっかりやってしまいがちなミスを多数取り上げ、その防止法を学べます。

例示されるのは誰もが「一度は必ずやってしまった」ミスばかりなので、過去を振り返る意味でも参考になります。本書を読むと、いわゆるケアレスミスの発生を抑える習慣が分かります。

「何故だ!」と叫ぶ前に、本書で色々な失敗パターンを知っておくと良いでしょう。
「坊やだからさ」。


すべてのプログラマに効く 危険なプログラムの処法箋
宮坂 電人
4797338733

★★★

 一言で言うと、現場でよく経験するダメプログラムの「あるある集」と対策を纏めた一冊です。

私自身も、本書にあるようなダメプログラムにじゃ何度も出会いました。そんな訳でページをめくる度に頷きながら読めました。
関係ありませんが、そのダメプログラムを書いた奴が自分より給料貰ってた時のせつなさは格別です…

昔話はさておき、本書を読めば「ダメプログラムの対処法」と「ダメプログラマにならない為のポイント」を学ぶ事が出来ます。





もどる