ブログBlog

プログラマー脳

投稿日:2025年05月26日 ライフスタイル

こんばんは、阿部です。
表題の本を読んだので、感想を書きます。


きっかけ
フリーランスエンジニアの方が書かれている 技術ブログ に紹介されていた書籍です。
もし駆け出しエンジニア時代の自分に勧めるなら、という視点で13冊が選ばれています。

「Webエンジニアを目指す方や、駆け出しエンジニアの方の参考になれば」と添えられており、
エンジニアの方々のものの見方にも興味があったので、自分も読んでみました。
効率的な学習方法もテーマに含まれており、
他の書籍を読むときにも応用が効きそうな内容だったので、選びました。
特徴
著者は、プログラミング教育に携わっている方です。
認知科学に基づいて、効率的なプログラミング学習を解説しています。
感想
プログラミング用語の「変数」の解説がおもしろかったです。
変数の型などに注目するのではなく、その役割に目を向けることで、
コードが何をしているか分かりやすくなるそうです。

プログラミング言語の入門書では、変数を「箱」とよく表現されます。
(何かしらの値を箱に入れるイメージ)
本書ではこの表現を批判しています。
「箱」と捉えてしまうせいで、
1つの変数に、2つの値を代入できると、初心者が勘違いするそうです。
例を紹介します。

変数の概念が「箱」で起きる誤認識  x = “いぬ”;
 x = “ねこ”;
 print(x);

 で、実行結果に
 ”いぬ”,”ねこ”
 と2つ出力されると考えるそうです。

 「箱」だから、たくさんの値を保持できそうなイメージらしいです。
 これを踏まえて、本書では変数を「ラベル」と表現しています。

 上記で例えると、
 まず変数xに、”いぬ”と書かれたら「ラベル」を貼ります。
 次に代入するときは、
 ”いぬ”の「ラベル」を剥がして、”ねこ”と書かれた「ラベル」を貼ります。

 こうイメージすると、1つの変数に2つの値を代入できる、
 という誤認識を避けれるそうです。

上記のような、初心者がするプログラミングの誤認識をいくつも挙げています。
(while文の条件をfalseに変えると、ループが終了する等)
自分にも当てはまる例があり、勉強になりました。

プログラミング言語の書籍は理解しづらいものが多いですが、
本書は分かりやすく読み進めることができました。
javaの継承など難しいコードを読むときは、
本書のように認知負荷を下げる工夫をしていこうと思います。
PAGE TOP