こんにちは、いっとくです!
気づけば今年もあと2ヶ月ということですが、いつも年末になるともう年末かよ!って思っている気がするので、夏が終わったらもうすぐもう年末かよ!の季節が来るな〜って思い始めないといけないなって思っています。
そんなわけでもう最近は読んだ本の事しか書いてないので、本の事以外で何を書いて良いのやら忘れてきているのですが、ブレずに読んだ本のお話を。
今回はこちらでございます!
コンピュータってのは本当に奥深いもので、あと1ヶ月位でエンジニアとして仕事を始めて2年が経とうとしているのし、何なら営業やってたときから使ってはいたし、学生の時とかも比較的PC触る頻度多いタイプだったのですが、動いている仕組みとか全然わかってない。
メモリ16GB?すげぇ!ところでメモリって何してるの?みたいな感じです。
そんな状態を続けているうちに、僕はコンピュータを使いこなしているのではなく、誰かがわかりやすくしてくれたものをただ使わされているに過ぎない…!という変な感覚すら持ち始めてきました。まぁ、嘘ですけど。
PCを使って仕事をしていると、こうするとうまくいくのはわかるけど、なんで動くのかは説明できませんみたいなことがあり、一応教育者の端くれとしてそれはよろしくないよねって事で基礎から学ぼうとしているところです。
情報はなぜビットなのかは、文系出身転職組エンジニアにおすすめ
今回読んだ「〇〇はなぜチョメチョメなのか」のシリーズのことを勝手に「なぜシリーズ」と呼んでいるのですが、僕は完全にこの「なぜシリーズ」のファンなので、ここで一度おすすめしておきます。
特に文系の大学を出て社会人の途中でエンジニアとして転職したからプログラミングはできるけど情報工学は何も知りません系の人はこのシリーズから学ぶことが非常に多いと思います!
そして「情報はなぜビットなのか」では、PCが0と1を使って計算をしているということは知っているけど、でもなんで0と1 使って文字を表現したり、画像を表示したり、音声を再生したりできるの??っていう不思議が少しだけ分かるようになっています。本当に少しだけですが。
ちょっと本書は残念な部分もあり、「プログラムはなぜ動くのか」や「オブジェクト指向でなぜ作るのか」では、本のタイトル通りプログラムやオブジェクト指向について深堀りをするのですが、「情報はなぜビットなのか」に関しては、色々な箇所でアルゴリズムやコンピュータの歴史、DBやネットワークと寄り道をしており、肝心のなぜビットなのかという部分を深堀りしきれていないような感じがします。
とはいえ情報系出身じゃない僕からすると、情報とは何かやどうやって情報をビットで扱うのかもためになったし、OSI参照基本モデルの話も詳しく理解していないところだったのでとても勉強になっています。
アマゾンのレビュー見た感じだと、こんな内容は情報系の大学出身なら誰でも知ってるみたいな感じに書かれていたので、あれがマウント取って快楽に溺れたい系レビュワーでなければ、ちゃんと勉強してきた人にとっては物足りない内容なのかも。
それではこの本がざっくりどんな内容の本で、何が良かったのかをアウトプットしようと思いまーす!
この本から学べること
世の中に溢れている情報という言葉。
我々も日常でよく使う単語だと思いますが、改めて「情報とは?」と聞かれると結構答えるのが難しいですよね。
まず本書では、クロード・シャノンによる情報の定義である「変化するパターンの中から選択できるもの」という解釈から始まります。
そして、コンピュータはその変化を電子部品を使って記憶、再現することにより、色々な種類の情報を再現しているのです。
文字は文字コードという対応表を使って符号化して、2進数に変更したり、画像はどの色をどれだけ使うかを2進数で表現したり、音は特定のタイミングの音の成分を2進数で表現することによって情報として扱っているのです。
2進数は英語でbinary digitと呼ばれ、これを省略してビットと呼んでいるわけです。
タイトルである情報はなぜビットなのかという点については、だいたいこの説明でほぼ終了しており、あとは情報に関する脇道をひたすら進みます。
例えば、ハノイの塔と呼ばれる、棒に突き刺さっている円盤を1枚ずつ動かして移動させるゲーム(?)をプログラムで表現するためのアルゴリズムだったり、OSI基本参照モデルというネットワークの基礎になる考え方だったり、コンピュータの始祖的な存在であるチューリングマシンの理論だったり、過去の偉大なプログラマたちだったり、統計の触りの部分だったり…
こう書き出してみるとやっぱり結構広いジャンルに広がっていますね。笑
ただ一つ一つの説明が簡潔でわかりやすく、読んでて面白いので、300ページくらいの本でしたが、全く苦痛なく読み切ることができ、読後には色々なコンピュータ雑学が頭に入っていることでしょう!
この読みやすさと面白さがやっぱりこのシリーズの本の良いところだと思うんですよね〜。
知的好奇心を満たしてくれると言うか、新しいことを知れて楽しいという感覚を思い出させてくれます。
オライリーとかオーム社の本の、「俺は今難しい本を読んでるぜ、カッケェだろ…!」みたいな読書とは違う体験ができるのが非常に良い。
更にこのシリーズには10年後も通用する基本を身につけようというコンセプトがあります。
正直もう出版から10年経っているのですが、全然まだまだ通用する内容になっていると思います。というか開発言語とかフレームワークみたいなレイヤーの話ではないので、全く新しい別の仕組みが登場するまでは役に立ち続ける内容だと思います。
はい、といことで非常に面白い本でしたが、このシリーズに関してはまずは「プログラムはなぜ動くのか」や「オブジェクト指向でなぜつくるのか」とかの方から読んだほうが良いとは思います!
以上、いっとくでした!
コメント