Magnolia Tech

いつもコードのことばかり考えている人のために。

古典に学ぶ……『プログラミング作法』……いまでも通用する”全部入り”の1冊

『プログラミング作法』を久しぶりに読み返している。

原著は「The Practice of Programming」のタイトルで1999年に出版され、日本でも2000年に一度翻訳されて出版された。 その後、2017年に再度翻訳版が出版されているけど、多少の誤植が修正された程度で中身は元のままだ(表紙は以前の方が好みだったけど)。

さすがに20年以上前の本なので、出てくるコード例がC、C++が中心で比較的新しい(!)言語としてのJavaPerlという辺りは、古い。また冒頭が割とコードレイアウトの話が続いたり、C言語getsは使わないとか、「いまここで言った方がいい?」みたいな話題も混じってくる辺りは、フォーマッタにまかせておけばいいし、推奨されない使い方は静的解析ツールにまかせておけばよくない?とも言える。コメントの書き方なんかは、納得感あるけど。

ただ、「アルゴリズムとデータ構造」「設計と実装」「インタフェース」の流れは、言語は変われど、”変わらない基本”が詰まっている。「デバッグ」や「テスト」はツールチェーンが発達した現代にそのまま使うかはアレだけど、考え方は充分に通用する。


で、なぜ読み返しているかというと、この300ページ強の本に、プログラミングの基本的な要素が全部ギュっと詰まっている感じが好きなんだ。このリズム、サクっと進む感、それでいてきちっとコードが必要な分だけきちんと出てくる。ざっと読んでもいいし、じっくり読んでもいい。悪いコードは「ここは悪いコードですよ」という注釈付きで出てくる。

ここまでコンパクトにまとまっている本はなかなか無いので、まずはこの一冊を読む、みたいな使い方がいいんじゃないかな、と思う。