はじめに
プログラミングと脳の関係が注目されているのでしょうか?
最近「脳」がタイトルに含まれる技術書が2冊発売されました。
1つは「プログラマー脳」。
もう1つは「脳に収まるコードの書き方」です。
個人的にもプログラミングと脳の関係はちょっと気になるので、2冊とも買って読んでみました。
このエントリではこの2冊の感想を書いてみます。
書評:プログラマー脳
サブタイトルに「優れたプログラマーになるための認知科学に基づくアプローチ」とあるように、プログラマの認知能力に関する研究をベースにコードの理解しやすさ・しにくさを議論する本で、いろいろと興味深く読めました。
サンプルコードはC++やJavaで書かれているケースが多いですが、題材としてちょこっと出てくるだけなので、C++やJavaを知らなくても全然大丈夫です。
プログラミングを始めたばかりの人にはピンと来ないかもしれませんが、現場で2〜3年働いている経験者なら実務で見たコードを思い出しながら、「あー、だからあのコードは読むのがしんどかったのか〜」と納得できるかもしれません。
書評:脳に収まるコードの書き方
うーん、この本は正直ちょっと期待外れでしたね。
悪い本ではないと思うのですが、「プログラマー脳」に比べると「別に脳みそ関係ないやん」っていう話題が多かったです。
僕としては、プログラミングと脳の関係に注目した斬新な切り口でコードの良し悪しを語ってほしかったなあ。
この本を読みながら僕が頭に思い浮かべたタイトルは「達人プログラマー・実践編」です。
別の本の名前を付けちゃってますけど。
要するに、「達人プログラマー」みたいに、良いプログラマになって良いコードを書くための考え方や習慣を、具体的かつ実践的なコード例とともに解説した本、という感じです。
タイトルにある「脳に収まるコード」というのは、脳みそそのものの話ではなく、「理解しやすい良いコード」を意味しているだけなんだと思います。
もちろん内容自体は間違ったことは書いてないですし、現場経験の浅いプログラマは知っておいた方が良い知識がたくさん載っていますが、僕みたいな20年選手が読むと「せやな」「それな」という話題がほとんどでした。
あと、割合的に C# に特化した内容が多い点にも注意が必要です。
僕は前職で C# をやってたので、C# はそこそこ読めますし、「最近の C# はこんなふうになってるのか。へ〜」と思う点も多かったですが、 C# に触れたことのない若手プログラマが読むとピンと来ない部分が多いかもしれません。
個人的には以下の書籍の内容をひとまとめにした本かな、という印象でした。
- 達人プログラマー
- リーダブルコード
- リファクタリング
- レガシーコード改善ガイド
そこに筆者の考える「C# ならこう作るといいよ」という具体的なコード例が加わる感じです。
なので、この本が一番役立つのは「若手 C# プログラマ」なんじゃないかなーと思います。
原題には「脳」が含まれるのか?
ちなみにどちらの本もタイトルに「脳」が含まれていますが、はたして原題はどうなんでしょうか?
ちょっと調べてみました。
「プログラマー脳」の原題は "The Programmer's Brain" です。
こちらは "Brain" が入ってますね。
一方「脳に収まるコードの書き方」の原題は "Code That Fits in Your Head" でした。
"Brain" ではなく "Head" ですね。
直訳すれば「頭に収まるコード」でしょうか。
たしかに「脳に収まるコード」と書いた方が、日本語として収まりがいいですが、「プログラマー脳 = The Programmer's Brain」に比べるとタイトルからして内容の「脳みそ感」はちょっと薄くなってしまうのはやむを得ないのかもしれません。
まとめ
というわけで、このエントリでは最近僕が読んだ「脳」に関する2冊の技術書を紹介してみました。
まだ読んでない人の参考になれば幸いです!
「脳に収まるコードの書き方」の感想でチラッと触れたこちらの技術書もどうぞ。
いずれも名著ですね。