Skip to content

Last Shelf

本棚を何度も整理した。技術書の大半はデジタルに置き換わり、物理的な本は減った。それでも捨てられないものが3冊ある。名著として勧めたいわけではない。個人的に手放せないだけだ。

1冊目は『エキスパートCプログラミング』。1996年。Peter van der Linden。Cの入門書ではない。Cを書ける人間が読んで初めて意味がわかる本だ。ポインタの罠、宣言の読み方、コンパイラの挙動の裏側。どれも仕様書を読んだだけでは辿り着けない知識で、この本で初めてCの深さを知った。言語そのものの設計思想に触れる体験だった。

2冊目は『ネットワーク不正侵入検知』。2001年。Stephen Northcutt。パケットを読む技術を体系的に教えてくれた本だ。TCPのフラグの意味、異常なパケットの見分け方、攻撃の痕跡をログから拾う手法。IDSという分野がまだ若かった頃に書かれたものだが、ネットワークの根本は変わっていない。パケットは今日も同じ構造で飛んでいる。

3冊目は『Winnyの技術』。2005年。P2Pファイル共有ソフトWinnyの設計思想を、開発者自身が解説した本だ。分散ハッシュテーブル、匿名ルーティング、キャッシュの伝播。純粋な分散システムの教科書として読める。著者の金子勇氏は、2ちゃんねるでは47氏として知られていた。匿名の掲示板に書き込んでいた人物の名前が、ある日世間に出た。その後の経緯は書かない。ただ、42歳で亡くなったという知らせを聞いたとき、本棚のこの背表紙をしばらく見ていた。

3冊とも絶版だ。中古市場で高値がついているものもある。だが売る気にはならない。どの本も20年以上前に書かれたのに、中身は古びていない。Cのポインタの振る舞いは変わらない。TCPのスリーウェイハンドシェイクも変わらない。分散システムの基礎理論も変わらない。流行のフレームワークは数年で消えるが、低いレイヤーの知識は残る。

コンピュータを離れる日が来ても、この3冊は捨てれないだろう。