【読書メモ】コンピュータの三大原則
最近、自分コンピュータサイエンスの基礎が足りていないなあと思う場面が増えてきました。
そんな中でおすすめされて読んだのが『コンピュータはなぜ動くのか』という一冊。
第一章にかかれているコンピュータの三大原則というものがのっけから勉強になりすぎたのでZennに書いていきたいと思います。
📖参考書籍:
コンピュータはなぜ動くのか 第2版 知っておきたいハードウエア&ソフトウエアの基礎知識
コンピュータは、入力、演算、出力を行う機械である
コンピュータは、入力・演算・出力を行う機械です。
この3つの要素は、必ずセットになっているのがポイントです。
ハードウェアの観点で見ると、コンピュータはIC(Integrated Circuit、集積回路)から構成されています。
各ICにはたくさんのピンが付いていて、それぞれが入力用か出力用として機能します。
これらのICが連携し合い、外部から情報を受け取り(入力)、内部で処理し(演算)、その結果を外部に渡す(出力)という流れが常に行われています。
たとえば、メール、ゲーム、動画編集といった複雑なアプリケーションでも、
この「入力 → 演算 → 出力」の流れが必ず存在します。
この3つはどれか1つが欠けてもコンピュータは成り立ちません。
改めて考えると、 その通り過ぎる....と感じます。
プログラムは、命令とデータの集合体である
ソフトウェア、すなわちプログラムの本質は、命令とデータの集合体です。
プログラムとは、**命令(指示)と、それに対するデータ(対象)**から構成されています。
- 命令:コンピュータに「入力・演算・出力」を実行させるための指示。命令を並べたものがプログラムです。
- データ:命令が処理する対象となる情報。プログラミングでは、データに名前を付けて扱い、これを「変数」と呼びます。
たとえば、y = f(x)
のような数式があったとき、
これは数学の表現であると同時に、プログラムの構造をとても分かりやすく表してくれています。
- xは入力される変数(データ)
- fは演算を行う関数(命令のかたまり)
- yは演算結果としての出力
関数fの内部では、なんらかの演算が行われ、結果がyに代入されます。
この流れも「入力 → 演算 → 出力」の構造に沿ってますね。
なんかすごい。
コンピュータの都合は、人間の感覚と異なる場合がある
コンピュータにはすべて数値で表すという都合があります。
自分勝ちが文字や色として認識しているものも、コンピュータではすべて数値となります。
たとえば、文字コードやカラーコードというように、何でもかんでも数値で表しているのが人間とは違うコンピュータの特徴です。
コンピュータは人間の都合に合わないことがあるということに注意する必要があるということですね。
まとめ
ざっと最後に改めてまとめると、
- コンピュータは、入力、演算、出力を行う機械である
- プログラムは、命令とデータの集合体である
- コンピュータの都合は、人間の感覚と異なる場合がある
というのがコンピュータの三大原則となります。
こうして三大原則として並べてみると、
たしかにコンピュータの仕組みやソフトウェアの土台はここに集約されているんだなと、改めて感じます。
『コンピュータはなぜ動くのか』、ほんとにめっちゃ勉強になります。
Discussion