Javaでなぜつくるのか

なぜシリーズの第6弾『Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識』が手元に届いた。書店での発売は1週間ぐらい先だが、日経BP社出版局のTさんが早々に献本してくださった。

Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識

Javaでなぜつくるのか 知っておきたいJavaプログラミングの基礎知識

この本に関して自分は全く何もしておらず、たんに第5弾と第6弾というだけの関係でしかない。しかし、なんだかとても嬉しい。どちらもタイトルが『〜でなぜつくるのか』だし、イラストを描いているハナデザインの葉波さんも同じである。「この章のキーワード」や、四択方式の「ウォーミングアップクイズ」など、自分がヒネリ出したアイデアを引き継いでもらえているのも嬉しい。変な表現に聞こえるかも知れないが、弟が生まれたような気分になった。何しろあの本は自分が10年間考え続けたことをまとめたものだし、とにかく執筆は大変だったから。今回の本でも、あとがきを読むと、米持さんはずいぶん苦労されたようだ。

内容はまだざっと眺めただけだが、仮想マシンの仕組みと登場の背景、言語仕様と実行環境の特徴、セキュリティやJ2EEなどの周辺技術、成功した理由や背景など、Javaを取り巻く話題がひと通り書かれている。Javaという現在もっとも普及した技術を通じて、コンピュータ技術の発展の歴史を解説する、というのが本の主題のようである。

また最初にマシン語の説明から始めているあたりは、なぜシリーズの伝統(?!)を受け継いでいる。技術の本質的なことをきちんと説明するためには、基本的な仕組みまで掘り下げる必要がある。これはつまり、ソフトウェアならマシン語、ネットワークならビット列や電気信号、データベースならディスクの円盤が回転する仕組みあたりまで掘り下げるという意味である。

けさ宅配便で届いたこの本を見たときは、1年前に『オブジェクト指向でなぜつくるのか』が納本されたときの感激を思い出した。書き下ろしを執筆するのは初めての自分が、矢沢さん、天野さん、戸根さんという、執筆の世界で大先輩の方々の仲間に入れてもらえた気がしてとても光栄に思ったものだ。今回の米持さんは、私と違って過去に何冊も本を書いているが、きっと嬉しいに違いない。

明日の夕方から出張するのでお供に持って行こう。こんな調子で、連載の執筆がなかなか軌道に乗らないのが最近の悩みの種である(笑)。
オブジェクト指向でなぜつくるのか―知っておきたいプログラミング、UML、設計の基礎知識―
コンピュータはなぜ動くのか?知っておきたいハードウエア&ソフトウエアの基礎知識?
ネットワークはなぜつながるのか ― 知っておきたいTCP/IP、LAN、ADSLの基礎知識
Windowsはなぜ動くのか
プログラムはなぜ動くのか ― 知っておきたいプログラミングの基礎知識