どうも、筋トレ臨床工学エンジニアkenです。
先日、プログラミングの勉強の一環で
痛快!コンピュータ学という本を読みました。
#痛快コンピュータ学 という本を読了💡
プログラミング言語やフレームワーク、データベース以前にそもそもコンピュータについて、自分は知らなさすぎだったかもしれない🤔
ブログ、YouTubeで感想まとめます💡
ITに少しでも関わる人には呼んでほしい本ですな💡
— ken@筋トレ臨床工学エンジニア (@ce_fitness_note) December 2, 2019
エンジニアツイッター界隈ではよく話題になる本です。
プログラミングが楽しくない人は、コンピュータの仕組みを勉強するといい
CPUやメモリ、データベース、OSなどのソフトウェアの進化の歴史を知ったら今までの何十倍もプログラミングが楽しく感じられる
楽しむためには知性が必要
「痛快コンピュータ学」を読むことで、プログラミングが楽しくなる
— 松田信介@JavaScriptスクール運営中 (@XHACK20) November 18, 2019
痛快!コンピュータ学読み始めました。
まだ100ページくらいしか読んでないけど、この本めっちゃ面白い!
コンピュータは割算が苦手とか知らんかったことばかりで勉強になる。
だのふ(@danof1105 )さん、amazonでゲットできました!ありがとうございました! pic.twitter.com/44Mh9NzZAn— どーもと@娘大好きエンジニア (@ikumenslot) December 7, 2019
【Youtube 第50回】
何十万円かけてプログラミング・スクールに通う前に強くお伝えしたいですが「痛快コンピュータ学」を読むと「880円」でエンジニアを目指すと幸せになれるかの予想ができます。つまらないと感じた方はエンジニアを目指すと不幸になる可能性があります。https://t.co/pOkzeGPfGz pic.twitter.com/a8CqHfLY9M
— IT菩薩@モロー(毛呂 淳一朗) (@Morow99956707) December 10, 2019
駆け出しエンジニアとしてこの本から学べることは非常に多かったです。
そして、今回は臨床工学技士の国家試験科目の一つである情報システムでよく出てくる
「量子化」についてこの本を元に解説していきます。
- 臨床工学技士を目指す学生
- ME1種の取得を目指す人
- 情報システムに興味ある人
量子化についていち早く知りたい人は目次からクリックして飛ぶことをおすすめします。
それでは本日もよろしくお願いします。
◆目次◆
臨床工学技士は知っておいた方がよい量子化について
痛快!コンピュータ学について
著者の坂村健さんは国産OS開発者
坂村 健(さかむら けん、1951年7月25日 – )は、日本のコンピュータ科学者、コンピュータ・アーキテクト。工学博士(慶應義塾大学、1979年)、東京大学名誉教授、東洋大学教授・情報連携学部長。専攻での研究内容はダイナミックアーキテクチャだが、自ら提唱したTRONプロジェクトにてリーダー、またアーキテクトとして多種多様な仕様を策定している。東京都出身。
Wikipediaより引用
国産の組み込み型OSの開発プロジェクトである「TRONプロジェクト」のリーダーでもあるコンピュータ科学者です。
OSというとWindowsやMacOSがありますが、
このTRONは組み込み型OSというもので、家電などに組み込まれているマイコンを制御するためのOSです。
ニンテンドースイッチにも組み込まれているとのことです。
この超優秀なコンピュータ科学者の方が、
とてもわかりやすい話でコンピュータについて解説してくれているのが、
この痛快!コンピュータ学という本です。
コンピュータの歴史を紐解くことがコンピュータの理解に繋がる
コンピュータが生まれてからどのように発展してきたのか?
本の流れとしては歴史を振り返りながら、その中で出てくるコンピュータの基礎的な考え方や重要な理論などをいろんな例え話などを用いながら解説してくれています。
パソコンやネットワーク、情報システムは苦手、よくわからないという人でも理解できるように、
例え話やユーモアを用いながらとてもわかりやすく解説してくれています。
臨床工学技士の国家試験科目の一つである情報システム関連の内容について
エンジニアとしてこの本の内容は知っておくべきことがたくさんありました。
その中で、臨床工学技士の国家試験科目の一つである情報システムでもよく出てくる内容について以下解説します。
量子化について
情報システムを勉強してる人は
「量子化」
という言葉を聞いたことがあるかと思います。
それについて解説していきます。
量子化はクロード・シャノンの情報理論の理解から
皆さんのコンピュータのイメージとはどんなものでしょうか?
よく新しくスーパーコンピュータが開発されたというニュースが出る時、
一秒間に〇〇回の計算ができるようになった
とか聞いたことがあるかと思います。
要するにコンピュータは今も昔も
「超高速計算機」
であることには変わりません。
ここで以下の疑問が生まれます。
ただの高速計算機なのに、
- なんで写真が見れるのか?
- メッセージのやりとりができるのか?
- 音楽が聞けるのか?
- 動画が見れるのか?
これらって一見、計算ではないように思えますよね。
これはアメリカのクロード・シャノンが提唱した
「全ての情報は0と1で表現できる」
という情報理論が理解することで説明可能となります。
全ての情報が0と1で表現できるのか?
これについてもう少し説明します。
スタバの店員さんに例えてみます。
トールサイズのスターバックスラテのオーダーが入りました。
レジで注文を受けて、バーにいる店員さんに、
「トールラテ〜」
とコーリングします。
トールサイズのスターバックスラテ→トールラテ
と呼び名が変わりました。
この方が業務上効率がいいからです。
コード化を簡単に説明するとこのようになります。
ここからさらに踏み込みます。
トールラテと言うのが面倒なので、代わりに「1」と呼ぶことにしたとします。
同じように、カプチーノは「2」
カフェモカは「3」
のように、数字に当てはめていきます。
このようにスタバのメニュー全てに数字を当てはめて、さらに2進数化します。
すると、スタバの全メニューが0と1で表現することが可能となりました。
このように、ある情報を0と1で表現できる形にすることを
「量子化」といいます。
人間は10進数に慣れているため馴染めないかもしれませんが、
コンピュータにとっては扱う数字が0と1の二つのみの方が都合が良いのです。
- 0の時:電気が流れていない
- 1の時:電気が流れている
この二パターンのみで判断できるからです。
この0と1の情報を計算処理して出力するのがコンピュータの役割です。
まとめ
今回は痛快!コンピュータ学を元に「量子化」について解説してみました。
今回はスタバのメニューを例えに解説しましたが、
これ以外全ての情報がこの情報理論に基づいて「量子化」すなわちデジタル化することができます。
本当は他の情報システム関連用語についても解説しようと思ったのですが、
長文になりそうなので需要あれば以下の内容について別記事作成しようかと思います。
- 標本化(サンプリング)について
- ジョージ・ブールのブール代数について
- フォン・ノイマンによるプログラム内蔵方式コンピュータの開発について
今回の記事が役にたっていただけたら幸いです。
本日もここまで読んでいただき、ありがとうございました。