千里の行も足元に始まる。コンピュータはいったいどんな機械なのか。
コンピュータの歴史と原理を学ぶべく、最近、時にうんうん言いながらも、読み通したのが、『プログラムはなぜ動くのか』、『コンピュータはなぜ動くのか』(ともに矢沢久雄著、日経BP)の2冊である。
前者のほうが先に出版されていたので、そちらを先にした。前者は第三版、後者は第二版と、それぞれ、改々訂、改訂版が出されており、それらを読んだ。特に前者は20万部突破となかなかの人気のようである。
うーん、読み通しはしたが、どちらも十全に理解できたとは言い難い。
まず前者についてだが、CPUの解説や、二進法について書かれた第1章から第3章は割とすんなり読め、メモリーやデータ圧縮、プログラム、OSとアプリケーションの関係について触れられている第4章から第9章は、時々、頭の中に疑問符が浮かびながらも、まあ前進できた。ところが、第10章「アセンブリ言語からプログラムの本当の姿を知る』で大きく、つまずく。
残る最後の、補章1、2を含む計4章も頭に入らなくなってしまった。何なんだよ、そのアセンブリ言語というのは!いきなり高い山が立ちはだかったような感じだ。
後者、『コンピュータはなぜ動くのか』には「知っておきたいハードウェアとソフトウェアの基礎知識」という副題がつく。第1章「コンピュータの3大原則とは」、第2章「コンピュータを作ってみよう」までは快調だった。特に第2章は附属のコンピュータの簡易回路図をコピーして、中身を説明しながら、図面上の配線を色鉛筆で着色することで、実際の配線作業の代わりにし、コンピュータの構造への理解を深める、という実践的内容がなかなかによろしい。
でも、そこからがまた理解が辛い。第3章は「一度は体験してほしいアセンブラ」と、来る。第5章に「アルゴリズム」と来るが、このアルゴリズムとプログラムの関係がよくわからない。そして極め付けで難しいのが、第7章で取り上げられる「オブジェクト指向プラグラミング」ってやつだ。
どちらの本も『日経ソフトウェア』の連載記事をまとめたものであり、コンピュータをある程度、理解している人たちを想定読者としているのだろう。
私のような素人にとって、ところどころ、珍紛漢なのは当然かもしれない。
この2冊を通し、コンピュータを理解するには、①ハード、②ソフト、③プログラミングの実際、④言語、⑤データベース、⑥ネットワーク、の勉強が必要になるであろうことは実感できたのはよしとしよう。あとは、カタカナとアルファベット、数字(それも2進法とか16進法)が頻繁に出てくることが理解を難しくさせていることもわかった。ともかく、しばらくしたら、両緒を再読してみるつもりだ。
矢沢久雄『プログラムはなぜ動くのか』日経BP、2001年10月刊
同『コンピュータはなぜ動くのか』日経BP、2003年6月刊
この記事が気に入ったらサポートをしてみませんか?