2007-01-21

最近読んだ本

BSDカーネルの設計と実装—FreeBSD詳解

タネンバウムを読む気力が湧かず, なんとなく寄り道.

が, 寄り道どころか大満足. FreeBSD いいわ. ファンがいるのもわかる. FreeBSD がいいだけでなく, この本はいい. 著者は BSD の歴史, FreeBSD の中味をよく理解しており, どう実装されているかだけでなく, その理由, 歴史的経緯, 関連技術なども説明している. 実装の話もわかりやすい. 実際にコードを眺めてみると結構複雑で追うのは辛いんだけれど, この本はそういう詳細を適度に省いて理解を促してくれる.

よく考えたら私はまともな OS の教科書は "Lions' Commentary on UNIX" の 解説パートくらいしか読んでない. FreeBSD はだいぶ進んでるなあと思いました(あたりまえ). 8 割くらい読んで, 最後の方にある boot などの話はスキップ.

OS は色々テクノロジーが詰まっていて楽しい. わからなかった部分もあるから, また気がむいたら復習しつつ勉強したい.

スケーラブル Web サイト

知りたい話はそれなりに載っていたが, 本としてはひどいものだった. "スケーラブル Web サイト" と聞いて想像する, 分散や性能改善そのほかの話は全 11 章のうち 2,8,9,10 章が該当. (2 章は部分的.) ここは知らないことが多く, 実際に大きなサービスを運用している著者の含蓄も感じられてよかった. 他は Web プログラミングの話. そこが酷い. ざっと気にくわなかったところをまとめ ...ようと書き出したけれど, 長くなりそう. けなすのに時間をかけても悲しいので割愛. 全体として, 構成がグダグダで整理されていない. 同じ話題や関係のある話題が複数箇所に散らばっていたり, 章立てと内容が一環していなかったり, 読んでいてイライラする. あとスケーラブルな Web サイトに無関係な話題が多い. ソフトウェア開発全般やセキュリティなどもとりあげているが, 既存の教科書の劣化コピーになっている. 7 章まではスキップして, 8, 9, 10 章だけを読むのがよさそう. このへんはそこそこ具体的で詳しい. 本題なだけある. 特に 10 章の監視の話はプログラミングの本にはまず出てこない. ほんとうはスタンドアロンのアプリにも監視やロギングの余地はあると思うだけに, そういうインフラの話は勉強になった.

さて, ここまでグダグダな構成の本は珍しいけれど, 本題と関係ない話題で表面的な体裁を整えページ数を水増ししている本は結構ある. 肝心の部分は内容が良いだけに, 体裁のために余計なもので全体を損ねるのは惜しい. ページ数を(多くも少なくも)制限せず, 伝えたい内容だけをまとめて出版できる仕組みがあればいいと思う. 一つのトピックなら 50-100 ページくらいあればだいたい説明できるし, なにか書くべき話題を持つ著者でも 300-500 ページを埋めるだけの知識があるとは限らない. そもそも読む方は短いほどうれしい.

書き手を増やし, 細かな知識を集める Hacks シリーズのアプローチは一つの解決策だと思う. 要素技術の Getting Started を短い PDF にした Short cuts シリーズもアリだろう. あとはチュートリアルと教科書の中間くらいで, Short cuts よりは長いけれど Hacks や Cookbook ほどは量が集まらないものを出版できるシリーズがほしい. 受け皿があれば, 労力をかけて厚い駄本をつくってしまう/読んでしまうことも減るだろうから.