【書評】『プログラムはなぜ動くのか』は難しい?新米エンジニアが読んでみた感想

技術書


「プログラムってなんで動いているんだろう?」
「コードを書いているけど、中身の仕組みは正直よくわかっていない…」

そんな疑問を持つ駆け出しエンジニアや、IT業界を目指す学生にこそ手に取ってほしいのが、矢沢久雄 著『プログラムはなぜ動くのか 第3版』です。

結論から言うと、この本は「仕組みを理解することの大切さ」に気づかせてくれる名著です。

ただし、人によっては「難しい」と感じる部分もあるので、この記事では本書の魅力と、どんな人におすすめかを丁寧に解説していきます。

筆者
筆者

IPA試験の対策にもなりますよ!

『プログラムはなぜ動くのか 第3版』ってどんな本?

本書は、もともと日経ソフトウェア誌の連載をまとめた書籍で、2001年に初版が発売され、2007年に第2版、そして2021年に最新の第3版が登場しました。

本書は、プログラミングを学ぶうえで欠かせない“根っこの部分”に焦点を当てた解説書です。
単なるコーディングのハウツーではなく、「そもそもプログラムはどうやって実行されるの?」といった根本的な仕組みを丁寧に解説しています。

書誌概要

書名プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識
著者矢沢 久雄
発行年2021年
出版社日経BP
ページ数308ページ
プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識

章立て

本書は、次のような章立てで構成されています。各章は独立したテーマで展開されており、途中から読み進めることもできます。

  1. プログラマにとって CPU とはなにか
  2. データを2進数でイメージしよう
  3. コンピュータが小数点数の計算を間違える理由
  4. 四角いメモリーを丸く使う
  5. メモリーとディスクの親密な関係
  6. 自分でデータを圧縮してみよう
  7. プログラムはどんな環境で動くのか
  8. ソース・ファイルから実行可能ファイルができるまで
  9. OS とアプリケーションの関係
  10. アセンブリ言語からプログラムの本当の姿を知る
  11. ハードウエアを制御する方法
  12. コンピュータに「学習」をさせるには

おすすめポイント

ハードウェアとソフトウェアの「つながり」が理解できる!

エンジニアとして働き始めたばかりの方は、「とりあえず動くコードは書けるけど、なんで動いているのかはよくわからない……」というもどかしさを感じていないでしょうか。

私自身、まさにそうでした。それなりのコードを書くことはできても、それがどのようにコンピュータ内部で解釈・実行されているかは理解できておらず、まるでブラックボックスのように感じていました。

しかしこの本を読んで、「CPUって実際なにしてるの?」「メモリとプログラムってどう関係してるの?」などの疑問が次々とクリアになりました。

読み進めるうちに、今まで「なんとなく」理解していた部分が、「そういうことだったのか!」という納得に変わっていきました。

ハードウェアとソフトウェアの関係を本質的に理解したい初心者にとって、最初の一歩として最適な一冊と言えると思います。

IPA試験の対策にもなる!

本書は、基本情報技術者試験や応用情報技術者試験の対策本としても非常に役立ちます。

試験範囲であるハードウェア・ソフトウェアといった基礎知識が、実際のプログラムの動作と結びつけて解説されているので、知識の丸暗記ではなく、本質の理解につながります。

さらに、各章の冒頭には「ウォーミングアップ」というクイズがあり、自分の理解度を確認しながら読み進められるのも嬉しいポイントです。

たとえば、以下に第1章11頁からクイズを引用します。
基本的な問いですが、意外とスッと答えられないものもあるのではないでしょうか?

  1. プログラムとは、何ですか?
  2. プログラムの中には、何が含まれていますか?
  3. マシン語とは、何ですか?
  4. 実行時のプログラムは、どこに格納されていますか?
  5. メモリーのアドレスとは、何ですか?
  6. コンピュータの構成要素の中で、プログラムを解釈・実行する装置は何ですか?

オススメしたい人、オススメできない人

こんな人にオススメ!

  • Web系などの開発をしているけど、低レイヤーの知識が不足していると感じている人
  • 基本情報技術者試験を勉強中の人

逆にオススメできない人

  • 完全にIT未経験で、「サーバー」「OS」が何か分からないレベルの初心者
  • すぐにアプリを作りたい!結果を出したい!という人(本書は即効性より「基礎固め」が目的)

入門書とはいえ、内容は「プログラムの本質」に踏み込んでいるため、多少の前提知識(変数、関数、メモリ、など)があるほうがスムーズに読み進められます。

まとめ:プログラムを「動かす仕組み」に目を向けよう

『プログラムはなぜ動くのか 第3版』は、ただコードを書くだけでなく、「そのコードがどうやって動くのか」を理解したい人にとって、まさに最適な1冊です。

本書を通して、「プログラミング=魔法」ではなく、ロジックと物理の積み重ねであることを再認識しました。

もしあなたが「もっと本質を理解したい」「エンジニアとして底力をつけたい」と思っているなら、ぜひ一度読んでみてください。

あわせて読みたい

本書に続いて、同じくエンジニア向けに基礎知識を解説する『なぜ』シリーズ(例:『コンピュータはなぜ動くのか』『ネットワークはなぜつながるのか』『オブジェクト指向でなぜつくるのか』)が刊行されています。

本ブログでも関連書籍のレビューを投稿していますので、興味のある方はぜひご覧ください。

タイトルとURLをコピーしました