ローファイ日記

出てくるコード片、ぼくが書いたものは断りがない場合 MIT License としています http://udzura.mit-license.org/

読んだ - 21st Century C, 2nd Edition

shop.oreilly.com

C言語初心者なので読んだんだけど、良かったとも言えるし、大変辛かったとも言える...


C Is Punk Rock という章から始まる本書は、「ググってもなんだかよくわからない」C言語のナウな使い方、具体的には、C89/C99/C11とはどういうことだとか、autotoolsというものが実際何をしているかだとか、gdbは怖くないよとか、Makefileって要するにこういう感じだとか、ポインタは友達、怖くないよ(Your Pal the Pointer)と言ってメモリの扱いについて述べていたり、他にはナウいマクロの書き方、構造体の使い方、並列プログラミング(OpenMP、Pthread、_Atomicキーワードなど)、GLibのようなライブラリ、といったトピックスを、随所に散りばめられた尖ったジョーク(英語ネイティブじゃないのでよくわからないが、尖っていることはわかる)とロックの名曲へのリスペクトとともに紹介する。

「コードは少ない」みたいなことを冒頭で言っていた気もするが、印象としてはそうでもなく、とにかくひたすらサンプルコードがたくさんあり、近代的な、21世紀少年たちのCのコードかくあるべしというのが分かる。

どうも書き方に少し癖がある(例えば const char *foo ではなく char const *foo を多用するなど)のだが、それを差し引いても、モダンなCの感じを叩き込む為にコードをひたすら読み、写経するには良いかもしれない。

ただ、やっぱコードがもりもり出てくるので、読み進めるのは大変だった...

本書を読んで、要するに、Cはパンクロックということが頭に残り、パンクは死んだのかもしれないがそれでも人間たちは業を背負ってCを書き続けるのは、パンクロックだからなのかもしれない、じゃあしょうがないのかもしれないと思った。

どうでもいいけど本書のタイトルの元ネタはかの、「21st Century Schizoid Man」なのだろうか。パンクじゃなくてプログレじゃないか。 Are C programmers Schizoid Men?