コンピュータはなぜ動くのかを読みました。
なぜ読んだのか
初心にかえってコンピュータの基礎を学びたかったため。
この本で学べること
- コンピュータ技術の知識の範囲、絶対的な基礎
- コンピュータの本質
本の概要
第1章 コンピュータの3大原則とは
- コードとは、コンピュータで取り扱うために数値化された情報のこと。
- コンピュータの3大原則
⒈ コンピュータは入力、演算、出力を行う装置である
どんなに複雑な機能であっても、入力、演算、出力を一つの単位としてそれらを数多く組み合わせて実現されている。
⒉ プログラムは、命令とデータの集合体である
⒊ コンピュータの都合は人間の感覚と異なる場合がある
コンピュータは色や文字など、なんでも数値で表す。だから半角文字もリンゴは4文字になる。
第2章 コンピュータを作ってみよう
- 紙の上でマイクロコンピュータの製作を疑似体験してみる、という内容。
- 設計図の配線をなぞることで、CPUとメモリーとI/Oの関係がちょっとわかった。
- 実際に手を動かした方が楽しそうだったので、フリマアプリでArduino(アルドゥイーノ)を買ってみた。
第3章 1度は体験して欲しいハンド・アセンブル
第4章 川の流れのようにプログラムは流れる
- プログラムの流れは順次進行・条件分岐・繰り返しの3つ。
- この章では、フローチャートの書き方について学ぶ。
- プログラムの流れには、「割り込み処理」と「イベント・ドリブン」という特殊な流れもある。
- イベント・ドリブンは状態遷移図などで表したりする。
第5章 アルゴリズムと仲良くなる7つのポイント
- アルゴリズムを日本語で「演算法」という。アルゴリズムとは、「問題を解く手順を、もれなく、文書や図で表したもの」のこと。
- 最大公約数を求める「ユークリッドの互除法」や、素数を求める「エラトステネスのふるい」などを例に、アルゴリズムがどんなものであるかその定義が説明されている。
第6章 データ構造と仲良くなる7つのポイント
第8章 作ればわかるデータベース
- 酒屋さんのデータベースを設計する
- 主キーと外部キーについて
- 検索速度を向上させるインデックスについて
第9章 簡単な実験7つでTCP/IPネットワークを理解する
第11章 そもそもXMLって何だっけ
第12章 SEはコンピュータ・システム構築の現場監督
- SEとは、コンピュータ・システム全体に関わるエンジニアであり、プログラミングだけに関わるプログラマとは違う。システムとは、「複数の要素が関係しあい、まとまって機能する系統」のこと。
- 顧客は、コンピュータの技術を望んでいるのではありません。コンピュータによるITソリューションを期待している。顧客の要求通りに役に立ち、安定して稼働するコンピュータ・システムであることが大切!
感想
ハードウェアからソフトウェアまで包括的にコンピュータの基礎知識が解説されていました。小さなコンピュータの世界から、大きなシステムの世界へ章を追うごとに進んでいくので、とても分かり易かったです。基本情報技術者試験を受ける人にとっては、これを読む前と読んだ後では問題の理解度が全然違うと思います。
2章と3章は私にはちょっと難しい内容になっていましたが、少しだけプログラムが動く仕組みがわかった気がします。アセンブラを書いてみたり、ちゃんと理解すれば、プログラミング言語のより踏み込んだ技術書が読めるようになりそうです。より詳しい内容は、「プログラムはなぜ動くのか」を読んでみたいと思います!
ここまでお読みいただきありがとうございました!