その本の「はじめに」には、著者の「伝えたいこと」がギュッと詰め込まれています。この連載では毎日、おすすめ本の「はじめに」と「目次」をご紹介します。今日は矢沢久雄さんの『 プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識 』です。

【はじめに】

 皆さんの中には、Windowsでコンピュータに初めて触れた人や、JavaやPythonなどの高水準言語でプログラミングを始めた人が多いことでしょう。Windowsのグラフィカルな操作性は、コンピュータを使いやすいものにしてくれました。高水準言語を使えば、コンピュータの内部的な動作を意識せずに、簡単な手順でプログラムを作成できます。思えば、便利な時代になったものです。

 しかし、喜んでばかりもいられません。便利な時代の代償として、ある程度のプログラミング能力が習得できても、技術的にもう一歩スキルアップできないことや、オリジナルのプログラムを作成するための応用力を身につけられずに悩んでいるプログラマが増えているのも事実です。この問題の原因は、プログラムが動作する根本的な仕組みを理解していないからです。

 「プログラムのアイコンをダブルクリックすればプログラムが動作する」などと、見かけだけをとらえているようではダメです。「メモリーにロードされたマシン語のプログラムが、CPUによって解釈・実行され、それによってコンピュータというシステム全体の制御やデータの演算が行われる」という、本当の仕組みを知る必要があります。プログラムが動作する仕組みがわかれば、確実にスキルアップでき、応用力も身につくはずです。

 本書は、これからプログラミングを始めたい人、スキルアップを目指す初級プログラマ、そしてすべてのコンピュータ・ユーザーのために、プログラムが動作する仕組みをやさしく解き明かしたものです。説明の都合上、コンピュータのハードウエアが登場することも多々ありますが、あくまでもプログラムすなわちソフトウエアがテーマです。

 本書の内容は、日経ソフトウエアに連載された「プログラムはなぜ動くのか」をまとめたものです。本書の第1版は、2001年10月の発刊以来、多くの読者に読んでいただき、いろいろな反響をいただきました。なかでも多かったのが「CPUのレジスタとメモリーの働きがわかり、自分が書いたプログラムが動作する仕組みがわかった」という嬉しい反響です。一方で、プログラミング経験が少ない読者からは「内容がややむずかしい」との声もありました。

 そこで、2007年4月に発刊された第2版では、ハードウエアに関する説明を加筆し、サンプル・プログラムで使用する言語を、かつてのVisual Basicから、ハードウエアの説明に適したC言語に置き換えました。さらに、巻末に補章として、C言語の解説を追加しました。第1版をむずかしいと感じた読者にも、満足していただけたことでしょう。

 このたび、第3版を発刊させていただくにあたり、あらためて全文を見直して、登場する製品や開発ツールなどを新しいものに置き換え、プログラミングが初めてという人でも戸惑わないように、本文や注釈に大幅な加筆を加えました。さらに、新たに書き下ろした第12章では、Pythonを使った機械学習を取り上げ、巻末の補章に、Pythonの解説を追加しました。第1版と第2版をお読みいただいた読者にも、きっと満足していただけると思います。

 何事にも言えることですが、ものごとの本質を知ることは、とても大切なことです。本質を知ってこそ応用が利きます。新しい技術が登場しても、容易に理解できます。本書によって、プログラムを奥底まで探究し、プログラムの本質に触れてください。

2021年4月 著者 矢沢 久雄

【目次】

画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示

【関連記事】