エンジニアの現場では当たり前のように使われているハードウエア、ソフトウエア、データベース、暗号化技術に関する専門用語。なんとなくわかった気でいるけど、本当に理解できているのか少し不安。触れる機会がない技術分野では何の話をしているのかついていけない。そんな私は勉強になりそうな本を探し、実際に読んだ本が『コンピューターはなぜ動くのか 知っておきたいハードウエア&ソフトウエアの基礎知識』です。
『コンピューターはなぜ動くのか』とは
『コンピューターはなぜ動くのか 知っておきたいハードウエア&ソフトウエアの基礎知識』とは2003年に初版が発行されたハードウエア、ソフトウエア、データベースに暗号化技術まで網羅的に解説している書籍。筆者の矢沢氏はほかにも『プログラムはなぜ動くのか』『C言語で学ぶプログラミングの基礎の基礎』などプログラミングに関する書籍を執筆されている。本著は2022年に改訂が入り、第2版も発売されている。
『コンピューターはなぜ動くのか』を選んだ理由
レジスタ、ハンドシェイク、TCP/IP、共通鍵暗号方式、、、「なんとなく概要はわかるけど、人に説明できるほど理解できていないなー」と焦り、初心者向けの本で自分の認識を確かめたい!と思いました。
そこで、探し回ったところ有名ブログやAmazonのレビューが良かったこちらの本を読むことにしました。
『コンピューターはなぜ動くのか』は何故おすすめされるのか?
読み終わった後、この本がおすすめされる理由を考えてみました。以下が私の考えです。
- 広く網羅的に学べる
- 深堀具合がちょうどいい
- 前提知識が少なくても理解できるようにステップを踏んで解説している
広く網羅的に学べる
本書は以下の全12章立てになっております。
- 第1章 コンピューターの概要
- 第2章 ハードウエアの解説
- 第3章~第7章 ソフトウエアの解説(プログラム、データ構造、オブジェクト指向)
- 第8章 データベースの解説
- 第9章 ネットワークの解説
- 第10章 暗号化技術の解説
- 第11章 XMLファイル
- 第12章 SEについて
全277ページの中でこれだけの領域の解説をしている本なので、広いと言えるでしょう。また、要所でクイズがあります。私は「こんなことは知っているよ!」と思ったことでも、回答が少しずれていたりして、認識のアップデートができました。
深堀具合がちょうどいい
内容が浅すぎるのでは?と心配になる方もいるかもしれません。私の専門は電気設計ですが、学生時代にC言語でロボット制御のプログラムを書いたり、現在もC#、Pythonを少しかじっている私にとっては、復習するには浅すぎずちょうどよいと感じました。
どの章もコンピューターの中でどのような処理が行われているのかわかるように解説されており、ソフトウエアの解説の冒頭ではハンドアセンブリ(手計算でプログラムを機械語に翻訳する)についての解説もあったりします。コンピューターがこの計算をしてくれているのかとイメージできました。
前提知識が少なくても理解できるようにステップを踏んで解説している
本書は通して、「どうして必要な技術なのか」、「使われている用語はどんな意味なのか」を説明してから解説に入ります。そのため、理系ではなくても、これからIT系の仕事をしていきたい人にもおすすめできる本となっています。やはり、何に使われているのか、イメージが湧くと読むモチベーションと理解度が違いますよね!
また、データのやり取りや暗号のやり取りなど、読んでいて「ここは図が欲しい」というところには決まって図解されており、わかりやすいと感じました。
『コンピューターはなぜ動くのか』の感想
本書で学べたこと、良いポイントを整理しました。
これから学ぶ技術の土台となる知識が得られる
本書は約20年前に発行された書籍であるため、読む中ではBasic等比較的古い言語の解説もあり「古い情報であまり参考にならない可能性もあるなー」という不安はありましたが、それは杞憂でした。なぜなら、ハードウエアの構成についてはそこまで大きく変化していないし、ソフトウエアに関しては現在主流の言語の土台となる技術の解説に捉えることができたからです。
一方、本書に現在も使われている技術の解説が載っている場合は、出版当時には成熟していた技術であることがわかりました。この時代からハードウエアの処理方式、通信方式、暗号化処理は体系は変わらず、加えてプログラミング言語の変遷も感じられ面白かったです。
20年後にも通用するコンピューターの基礎知識解説書って凄いなぁと改めて本書の良さを感じました。
丁寧な解説で理解しやすい
おすすめされる理由を分析した際にも述べましたが、本書は「どうして必要な技術なのか」、「どこに使われているのか」、「どのような技術なのか」、「どんな流れで動くのか」のステップを踏んで解説しております。技術の本というと、専門用語が多く、途中でついていけなくなって、挙句には読んでいる最中に眠くなってくる…なんてこともありますが、多くの人がついていけるような難易度と丁寧さで読みやすい本でした。
名前を知っている技術でどんな役割を持っているのかまでは知っていたTCP/IPや暗号化処理、恥ずかしながら本書によりどんな処理が行われているのか理解できるようになりました。
また、本書は自分の苦手な領域を発見するためにも使えるかと思います。各章の冒頭に初級、中級、上級のクイズがあり、「~とはなんですか?」、「~と~の違いは何ですか?」と理解度を確認するような構成になっています。わたしは「この分野、全然わかってなかった」、「よかった、自分の認識であってた」を繰り返して読み進めていました。こうした使い方も含め、多くの人におすすめできる本であると思います。
『コンピューターはなぜ動くのか』はエンジニアの入門書!
本書はエンジニアであれば知っていた方が良い知識をわかりやすく解説している入門書です。
自分の専門分野でなくてもこれくらいの知識を持っていることは求められると思いますので、これからエンジニアを目指す方、エンジニアだけど自分の知識に自信がない方は読んでおくべき一冊だと思います。
ぜひ読んでみてください!
コメント