この記事は技術書オススメバトル[PHPer Tea Night]のために書きました。
なぜオススメなのか?
私の本業はウェブアプリケーションエンジニアです。特にPHPというプログラミング言語を使って、サーバーサイドのプログラムを書いて生計を立てています。それなりに勉強してきたので、コンピューターについては詳しいつもりではあります。しかし、知識を掘り下げていくとどうしても「コンピュータの根本的な仕組み」については知識が薄いと感じることがありました。
そうなってくると、大抵のエンジニアはジョージ・ブールだったり、アラン・チューリングだったりと、初期の計算機に多大な影響を与えた人物の論文であったり、コンピューターの根本的な仕組みについて書かれた書物だったりを読むわけです。
しかし、正直に言いましょう。難しいんです!
チューリングの書いた「計算可能数とその決定問題への応用」という論文は、現在のコンピューターの基本原理になったと言われるものです。論文自体が非常に難解であるため、解説付きの書籍も存在しているのですが、それでも良く分からん!というのが正直な感想です。
それにコンピューターは、基礎となった様々な情報が組み合わさった存在です。個別の原理について詳しくなっても、じゃあ全体としてどうなっているのかを理解することは叶いません。
この本は、そんな難しいコンピューターを子供向けに噛み砕いて解説してくれています。しかも、一冊でざっくりと網羅できるように、数字の話から、情報を数字で表現する方法、加算減算、プログラムの命令実行まで、一挙に駆け抜けてくれます。
この本のおかげで、自分の中で散らばっていたいろんな知識が一挙に結合されて、コンピューターについての理解が進みました。
この本の最大の推しポイント
そんなコンピューターの仕組みを網羅した良書であるのですが、最大の推しポイントは最後の工作です!付録のような扱いなので飛ばしてしまった人も多いかもしれませんが、この工作が最高なんです!
チューリングマシンを、紙で作るのです!「いやいや、原理はわかっているから」と思っているそこのあなた!!!!いいから、やってみましょう!やってみればわかります!
体の中を「あ!!!!これか!!!」が駆け巡ります。
プログラマーとして一つ大人になること間違いありません!
補足
なお、技術書オススメバトルでは、プレゼンが功を奏して優勝することができました。この本は本当にすごいんです。川添先生の他の本もすごいんですが、この本のすごさは特別です。ぜひ読んで、そしてぜひ工作してください!