RHGのすすめ

proftpdはコンパクトでよくモジュール化されているから読みやすいのも確かだけれど、でも読むにあたって以前 ruby のソースを読んだ経験は役に立っている。結局、C言語で自由なモジュール追加を許す設計にしようとするとかなり選択肢は限られて、だから、rubyとかapacheとか、Linux kernelを読んだ延長としてproftpdのコードもすんなり読めた感じだった。

私がrubyを読んだときには生憎とまだ本としてまとまっていなかったのだけれど、今なら Rubyソースコード完全解説 という本がある。通称RHG:Ruby Hacking Guideだ。書籍版とは微妙にバージョン違いなのだけれど、 RHGオンライン版 もある。これが手元にあると読解がいくらか楽になるかも知れない。

今の1.x系rubyはgperfによる完全ハッシュとか、yacc/lexによる構文解析とか、構文木の評価とか、基本的なテクニックの地道にして精密な組み合わせでできていて、勉強には良い素材だと思う。評価器のコアの巨大なswitchだの、見るからにad-hocで効率悪そうなスレッド切り替えだの、良くない点もあるにせよ。

同じ系統に属するガイドとしては Code Reading というのも一応あるけれど、これはねー。立ち読みした限りでは、煽り文句にあるほどの大層なものじゃない気がして買っていない。これぐらい、今更講釈されなくても、C言語を使えてる人なら誰でも普通にやってることだしね。どうせなら 解説本 も出たことだし、 mona でも読む方がお勉強としてはいいかも知れない。monaは簡易shellがやっと立ち上がるって頃にちょっと読んだだけだけど。

私個人としては、 YARV も楽しそうだから近いうちに何かしらHackしてみたいな。