本書の副題にもその名前が使われているように、著者であるプリンストン大学コンピュータサイエンス学科教授のブライアン・カーニハンは、ディジタル界隈では大変有名な先生だ。デニス・リッチーとの共著『プログラミング言語C』は、長い間多くのプログラマーに参照され続けているという。しかし本書は、「カーニハンって誰?」と思った人のために書かれている。これは、非技術系であっても知っておくべき内容が簡潔にまとめられた、コンピュータ科学の入門書なのだ。
携帯電話1つで世界と繋がることのできる現代では、コンピュータなしの生活は想像すら難しい。それでは、私たちはコンピュータについてどれ程のことを知っているだろう。たしかに、その仕組みや科学的原理を知らなくても、コンピュータの恩恵にあずかることはできる。しかしそれでは、コンピュータはいつまでも魔法の箱のままであり、思わぬ副作用で痛い目を見るかもしれない。
文系であろうと理系であろうと、現代の教養ある人は、コンピュータについてどのようなことを知っておくべきなのか。どのようなことを知っていれば、コンピュータに関するニュースを理解し、真贋を判断できるのか。カーニハン先生は本書で、3つのコアとなる技術分野、ハードウェア、ソフトウェア、通信(コミュニケーション)についての根本的な理解を与えてくれる。
コンピュータに対する誤った理解は、新聞記者にとっても致命的だ。例えば、2013年2月11日のパソコン遠隔操作事件の続報を伝える朝日新聞の記事の以下の一節は、ネット上で多くのツッコミの的となった。
首輪に仕込まれたメモリーカードには、「ソースコード」と呼ばれる遠隔操作ウイルスのプログラムが記録されていた。
ここで問題となるのは、「ソースコード」という言葉の使い方である。あなたは、「コンパイラ」「オブジェクトコード」という言葉を用いて、この文章の誤りを正確に指摘できるだろうか(できない人こそ、本書の想定読者である)。本書の第5章「プログラミングとプラグラミング言語」を読めば、この文章のどこに問題があるかが正確に理解できるようになるだろう。
本書の狙いはあくまで、コンピューティング技術がどのような起源を持ち、どのような仕組みで動き、将来どうなっていくのかの原理・原則を理解することにある。そのため、残念ながら本書を読んでもコンピュータを組みたてられるようにも、プログラミングができるようにもならない。
しかし、カーニハン先生の講義を読み進めれば、コンピュータを購入するときに見比べるCPUやメモリの値が何を意味するのか、ネット上でプライバシーをどのように守るべきかの原則を理解できるようになる。なにより本書は、分からなかったことが分かるようになるる喜びを与えてくれる。分かりにくい部分や日本に馴染みの薄いトピックには丁寧な訳注が添えられ、痒いところに手の届く邦訳となっていることも強調しておきたい。
本書がコンピュータ科学を苦手としてきた(私のような)人にも理解し易いのは、カーニハン先生が安易な比喩で説明を省略することなく、一歩ずつ論を進めてくれるからだ。分かり易さを目指した比喩が、その意図とは反対に、誤った理解や分かり難さをもたらすことはよくある。例えば、ソフトウェアを動かすプログラムを料理のレシピのようなものと表現するのは、あまり良くないものだと先生はいう。料理のレシピは多くの手順を暗黙のうちに省略しているが、プログラムはもっと苦痛なまでに厳密でなければならないからだ(卵の割り方や、殻の処理の仕方まで明確に定義しなければ、コンピュータは動いてくれない)。
教科書として使われることもある本書であるが、人に話したくなるエピソードやトリビアが散りばめられているので、科学読み物として十分に楽しめる。例えば、インターネット上のドメイン名がどのように決められるか、誰の所有物かという解説には、2003年のカナダの高校生を襲った悲劇(?)が添えられている。このMike Roweという高校生は自分のソフトウェア用Webサイトを立ち上げたのだが、ある大企業から警告を受け、泣く泣くドメイン名を変更した。彼が変更せざるを得なかったドメイン名は、mikerowesoft.comであったという。
SF作家アーサー・C・クラークは、「高度に発達した科学は魔法と区別がつかない」と言った。宇宙に行き、地球の裏側の人とリアルタイムで話をすることができるようにまで至った現代の科学技術は、多くの場合魔法そのものだ。数多い魔法の中でも、コンピュータが社会で果たす役割は、もはや生活と不可分なレベルに達している。情報化社会ともいわれる現代において、本書で扱われるコンピュータ・情報に関する知識は義務教育で教えられるべきものではないかだろうか。情報化社会を生き抜くためのリテラシーとともに、知る喜び、理解できる喜びを与えてくれるのだから。
ーーーーーーーーーーーーーーーーーーーーーー
世の中に大きな影響を与えている9つのアルゴリズムの仕組みと役割を解説した一冊。こちらもまた、カーニハン先生と同じく著者の解説が非常に分かり易い。現代の我々の生活を支える暗号技術を論理パズルを解くように楽しく理解できる。レビューはこちら。
『ディジタル作法』の第3部「コミュニケーション」の部分でも、Googleは何度も登場する。現代のコミュニケーションを考えるうえで、この企業の存在を無視することはできない。この本では、Google誕生以前の創業者2人の人生から掘り起こしながら、たった10数年で世界有数の企業となったGoogleの真実に迫っていく。成毛眞のレビューはこちら。
ちなみに、Googleのエリック・シュミットもこの『ディジタル作法』を最高の入門書と絶賛している。
コンピュータにできる領域が増えていくほど、人間がやるべきことの領域は狭くなっていくのか。これからの仕事を考えるうえでは、機械との競争を意識しないわけにはいかない。人間にしかできない仕事、コンピュータに置き換えられない仕事について考える。田中大輔のレビューはこちら。