『プログラマ-脳 優れたプログラマ-になるための認知科学に基づくアプロ-チ』レビュー
著者: フェリエンヌ・ヘルマンス / 水野 貴明(訳) / 水野 いずみ
出版社: 秀和システム
¥2,069 ¥2,420(10%OFF + 5%還元)
著者: フェリエンヌ・ヘルマンス / 水野 貴明(訳) / 水野 いずみ
出版社: 秀和システム
¥2,069 ¥2,420(10%OFF + 5%還元)
『プログラマー脳 ~優れたプログラマーになるための認知科学に基づくアプローチ』は、プログラミングを「才能」や「経験年数」ではなく、認知プロセスの観点から見直す本です。 説明では、著者が長年プログラミング教育の研究に取り組んできたこと、最新の認知科学に基づいて、コードの読み書きや技術習得を効率化する方法を解説することが述べられています。
本書は、コードを書く・読むときに「プログラマーの脳」がどう働くかを説明するとされています。 作業が異なれば使う認知プロセスも異なり、使うべきテクニックも変わる。 この前提があると、ノウハウが状況に応じて選べるようになります。
説明では、13章から成り、4つの部に分けられるとされています。 章ごとにテーマがはっきりしており、たとえば「コードを素早く読み、その仕組みを理解する方法」や「複雑なコードを読み解くためのテクニック」が挙げられています。 現場の困りごとに沿って読める構成です。
説明では、コードベース全体で明確な変数名を選ぶ方法や、「コードの臭い」とその背後にある認知科学的背景も扱うとされています。 可読性の議論が、好みや流儀の争いに落ちず、認知負荷として整理されるのが強みです。
本書は第1章で、プログラミングを行う際に重要な3つの認知プロセスを示し、それぞれがどのような混乱と関連するかを説明するとされています。 ここで言う混乱は、たとえば読んでいるのに理解が進まない、頭に保持できない、問題の切り分けができない、といった形で現れます。 原因が分かると、打ち手も変わります。
第2章では、コードを素早く読み、その仕組みを理解する方法を扱うとされています。 読む速度は、単に目が速いかどうかではなく、頭の中で何が塊として扱えるかに左右されます。 第3章は構文や概念を、よりよく、より簡単にきちんと学ぶ方法です。 新しい言語を学ぶときに、何を手がかりにすれば記憶が定着しやすいかがテーマになります。
第4章・第5章は、複雑なコードや見慣れないコードを理解するためのテクニックです。 ここがあることで、仕事で遭遇しやすい「既存コードの読解」を主戦場として扱ってくれます。 第6章は問題解決のテクニック、第7章はコードや思考中のバグ回避です。 そして第8章は変数名の選び方です。 変数名の品質は、読み手の作業速度と直結します。 第9章の「コードの臭い」も含めて、読みやすさを認知の観点で扱う構成になっています。
さらに、説明ではオンボーディングプロセスも認知科学的側面から掘り下げるとされています。 個人の技術だけではなく、チームで学習が進む条件まで扱う。 この射程の広さが、現場向きだと感じます。
本書を読んで終わりにしないコツは、章のテーマを「今週の実験」にすることです。 たとえば第2章の観点なら、今週はレビューでコードを読む時間を10分だけ取り、理解の手がかりを言語化します。 第8章の観点なら、変数名を付けるときに「読み手が次に知りたい情報は何か」を1回だけ自問します。 この小さな実験を積むと、認知のテクニックが癖になります。
また、本書は「作業が異なれば認知プロセスも異なる」と説明しています。 つまり、読解、設計、デバッグ、学習で同じ方法を使うと、どこかで破綻します。 自分が今している作業を言葉でラベル付けし、章の道具を選ぶ。 この手順が回り始めると、成長が偶然ではなくなります。
リファクタリングやクリーンコードの本は、良いコードの形を教えてくれます。 一方で、なぜそれが読みやすいのかが「美学」になりがちです。
学習法の本は一般論になりやすく、プログラミングの特殊な負荷を十分に扱えないことがあります。 本書は、認知プロセスの説明から入り、読む・学ぶ・問題解決する・名前を付けるといった作業別にテクニックを整理し、さらにコードの臭いやオンボーディングまで扱うとされています。 プログラミングの実務を、認知科学の言葉で再設計する点が、類書との差です。
コードを読むのに時間がかかり、理解が浅いまま手を動かしてしまう人に向きます。 新しい言語やフレームワークを学ぶたびに、定着まで時間がかかる人にも合います。 可読性や教育を、感覚ではなく認知負荷として整理したいチームにおすすめです。