ブログBlog
プログラマー脳
投稿日:2025年05月26日 ライフスタイル
こんばんは、阿部です。表題の本を読んだので、感想を書きます。

きっかけ
フリーランスエンジニアの方が書かれている 技術ブログ に紹介されていた書籍です。もし駆け出しエンジニア時代の自分に勧めるなら、という視点で13冊が選ばれています。
「Webエンジニアを目指す方や、駆け出しエンジニアの方の参考になれば」と添えられており、
エンジニアの方々のものの見方にも興味があったので、自分も読んでみました。
効率的な学習方法もテーマに含まれており、
他の書籍を読むときにも応用が効きそうな内容だったので、選びました。
特徴
著者は、プログラミング教育に携わっている方です。認知科学に基づいて、効率的なプログラミング学習を解説しています。
感想
プログラミング用語の「変数」の解説がおもしろかったです。変数の型などに注目するのではなく、その役割に目を向けることで、
コードが何をしているか分かりやすくなるそうです。
プログラミング言語の入門書では、変数を「箱」とよく表現されます。
(何かしらの値を箱に入れるイメージ)
本書ではこの表現を批判しています。
「箱」と捉えてしまうせいで、
1つの変数に、2つの値を代入できると、初心者が勘違いするそうです。
例を紹介します。
変数の概念が「箱」で起きる誤認識
x = “いぬ”;
x = “ねこ”;
print(x);
で、実行結果に
”いぬ”,”ねこ”
と2つ出力されると考えるそうです。
「箱」だから、たくさんの値を保持できそうなイメージらしいです。
これを踏まえて、本書では変数を「ラベル」と表現しています。
上記で例えると、
まず変数xに、”いぬ”と書かれたら「ラベル」を貼ります。
次に代入するときは、
”いぬ”の「ラベル」を剥がして、”ねこ”と書かれた「ラベル」を貼ります。
こうイメージすると、1つの変数に2つの値を代入できる、
という誤認識を避けれるそうです。
x = “ねこ”;
print(x);
で、実行結果に
”いぬ”,”ねこ”
と2つ出力されると考えるそうです。
「箱」だから、たくさんの値を保持できそうなイメージらしいです。
これを踏まえて、本書では変数を「ラベル」と表現しています。
上記で例えると、
まず変数xに、”いぬ”と書かれたら「ラベル」を貼ります。
次に代入するときは、
”いぬ”の「ラベル」を剥がして、”ねこ”と書かれた「ラベル」を貼ります。
こうイメージすると、1つの変数に2つの値を代入できる、
という誤認識を避けれるそうです。
上記のような、初心者がするプログラミングの誤認識をいくつも挙げています。
(while文の条件をfalseに変えると、ループが終了する等)
自分にも当てはまる例があり、勉強になりました。
プログラミング言語の書籍は理解しづらいものが多いですが、
本書は分かりやすく読み進めることができました。
javaの継承など難しいコードを読むときは、
本書のように認知負荷を下げる工夫をしていこうと思います。