「コンピュータのしくみを理解するための10章」

コンピュータのしくみを理解するための10章

コンピュータのしくみを理解するための10章

おそらくコンピュータサイエンスを高校生や大学生に教える際、本書が入門書として適しているのではないかと思う。

—–



著者の意図したところだろうが、本書は非常に分かり易く、ハードウェアからソフトウェアへ「階段を上る」ようにコンピュータの動きを理解することができる。特に0と1レベルで動きを理解する必要があるハードウェアの解説の部分では、CPUの1ステップごとの動きを丁寧に著者が説明を載せているので、焦らずじっくりと時間をかければ、コンピュータがどのような原理でプログラムを解釈し、我々にアウトプットを与えてくれているのかを確実な知識として見に付けることが出来るだろう。
近年はプログラム言語の進化が進み、0と1のレベルでコンピュータの動きが分からなくてもアプリケーション作成には支障を来たさない時代である。ただLinuxの台頭によってエミュレーションの技術が注目されているし、それこそLinuxの開発に参加しようと思ったらコンピュータの動きを理解する必要はあるし、あなたがプログラミング言語を作り出そうと思ったらやっぱり0と1レベルでハードウェアの動作原理を知っておく必要はある。
本書はあくまで「多少突っ込んだ入門書」という位置づけなので、それぞれの分野について詳しく知りたければさらなる専門書が必要になると思うが、全体像を掴むのにはまさに適所。上述したように「階段を昇るようにコンピュータの動きを理解する」が全体のテーマとなっている為、以下の様な構成となっている。

  • 第1部 ハードウェアの階段を昇る
    • 第1章 コンピュータの動く基本
    • 第2章 0と1から始まるコンピュータの世界
    • 第3章 0と1を組み合わせて処理する
    • 第4章 簡単なコンピュータを設計する
    • 第5章 0と1を並べて命令やデータを表現する
    • 第6章 機械命令を実行する
  • 第2部 ソフトウェアの階段を昇る
    • 第7章 機械命令の実行を制御する
    • 第8章 アセンブリ言語でプログラムを作成し実行する
    • 第9章 高水準言語でプログラムを作成する
    • 第10章 アルゴリズムを考える

個人的に4章には膝を打ったというか、「ああそうか、コンピュータ理解されるには作らせればいいのか」という単純な事実を発見。馬場先生、ありがとうございました。
若いエンジニアの基礎体力増強にどうぞ。