Mukai Systems

基本情報技術者試験を受験するあなたに――「コンピュータはなぜ動くのか」

30年ほどIT企業向けのセミナー講師をしている筆者は、受講者がコンピュータについてあまり興味を持っていない事が分かった。その原因として、筆者がマイコンや初期のコンピュータに触れる事ができていたのと対照的に、現代ではコンピュータがすさまじい速度で複雑化したために、「コンピュータとは何なのか?」ということがブラックボックス化されたことにあるのではないかと考える。コンピュータについて理解することができればコンピュータのことがもっと楽しくなるのではないか。本書は、この仮説をもとに「コンピュータはなぜ動くのか?」という解説を試みる。

いろいろな場所でお勧めされているので、中古で安売りされていたので読んでみた。

コンピュータの三大原則

本書ではコンピュータの三大原則として、次のように述べている。

  1. コンピュータは、入力、演算、出力を行う機械である。
  2. プログラムは、命令とデータの集合体である。
  3. コンピュータの都合は、人間の感覚と異なる場合がある。

なるほど、これは面白い。初学者だった時のことを振り返ると、いずれも理解できていなかった事実に思える。この業界に長くいるとどれも当たり前のことで、むしろ三番目なんかは同意しかねてしまうほどだ笑

アセンブリ言語

過去の情報処理技術者試験では、試験のために策定されたアセンブリ言語CASL、および、仮想計算機COMETについて問題が出題されていた。この章ではCASLを通してアセンブリ言語についての解説がされる。当時はIPAがCASLのシミュレーターを頒布していたらしいが、残念ながら現在は見つけることができなかった。非公式であればシミュレータを実装して公開している人がちらほらいたので、本書を読まれる機会があれば是非いじってみてほしい。

アセンブリを直接読み書きするというのは昔日の面影を残すばかりで、現在の試験要綱に含まれていないのは仕方のない話だろう。ただし、技術者なら一度は触れておいても損はないというのは、筆者と同じ意見だ。

まとめ

筆者がセミナーの講師だけあり、説明は非常にわかりやすいように思った。

初版では実際にICチップなどを集めてコンピュータを作る章があったらしいが、ICチップの廃番などにより第二版では紙面だけの解説になってしまったことが悔やまれる。

いい点を中心に述べてきたが、本書は手放しで褒められるものではない。

最も気になったのが、、タイトルの「コンピュータはなぜ動くのか」に関係がなさそうな項目が本書の過半数を占めていることだ。アセンブラやプログラムの章はギリギリ許容できるとして、オブジェクト指向についての章を皮切りに、データベース、ネットワーク、XML。極めつけにSEについてだって!?これらを「コンピュータはなぜ動くのか」という文脈で語るのは筋違いだろう。紙面の都合上、内容も薄いので後半は蛇足感がぬぐえない。執筆の動機となった仮説が素晴らしかっただけに残念なことだ。セミナーの焼き直しだと勝手に推察すると、「基本情報技術者はどんな試験なのか」というタイトルだと思って読めばがっかりすることはないかもしれない。

新米SEがざっと見するような用途であればお勧めしたい一冊である。

More info