
読書レビュー「コンピューターはなぜ動くのか」
本書を読む目的・きっかけ
普段システム開発を行っているが、アプリ開発しか経験していないため、低レイヤーのことについては知らないことが多い。それでも仕事上差し支えないが、ハードウェア上でプログラムがどのように動くのかという点について、もう少し知っておいた方がいいだろうと思い、本書を購入。
購入してから結構経つが、あまり業務上関係ない本はどうしても後回しにしてしまいがちだったが、気合を入れ直して読み通したので内容をシェアしたい。
感想
普段、システムエンジニアなどでIT関連の業務に携わっている人は本書から得られる内容はあまりないかもしれない。なぜなら後半部分はデータベースやネットワークといった内容で業務経験がある人からすると、知っている内容が多い。私もデータベースや最終章の開発工程などの話は知っている内容ばかりだった。ただ、第1、2章のコンピューターの回路図や第3章のアセンブラについては自分は初見だったこともあり、エミュレーターとはいえ、メモリとプログラムがどのように連携されているかという内容がわかるようになっているため、高レベルのプログラミングしかしたことない人にとっては学べる点が多いと思った。
また、第4〜6章のプログラムの処理の流れやアルゴリズムとデータ構造についてもメモリ上どのようにデータをやり取りしているのか記載されているため、より理解しやすくなっていると思う。加えて、各章の最後にプログラミングのためのコツ・筆者からのアドバイスがあるので頭に入れておきたいと思った。
実践すること
本書を読んで実践できることは限られているが、今までプログラムを書くときはいきなり書き始めていたが、これからは紙の上でちょっとアルゴリズムを考えてから書こうと思う。また、改めてソフトウェアはハードの上で動いており、ハードとプログラムのやり取りのイメージを自分の中に持っておくことはクラウド全盛となっている今の時代だからこそ認識しておかなくてはならないのではないかと思う。
本書をオススメしたい人
コンピューター上でどのようにプログラムが動くか知りたい人
コンピューター、データベース、ネットワークセキュリティというコンピュターサイエンスの基礎の基礎を知りたい人
IT業務に携わっていて基本を学び直したい人