『研鑽Rubyプログラミング』をもらった

訳者の角谷さんから『研鑽Rubyプログラミング』をもらったので読みました。

読んだ第一印象は「Effective Perl 第2版: 上級Perlプログラマへと成長できる120の階段みたい」でした。Effective Perlは往年のPerlの名著で、プログラミングにあたって気になるより速いコードの書き方や、よりよいコードの書き方、なぜそれがよいのかが詰め込まれた本で、当時まだプログラミング初心者を脱したばかりのわたしにとって、解説書として、テクニック集として、そして道しるべとして重宝するとともに楽しく繰り返し読んだものです。

『研鑽Rubyプログラミング』の筆者であるJeremyはSequelの作者で、近年はRubyコミッタになって八面六臂の活躍をしている…という話はラムダノートの書籍紹介ページから見ることのできる「本書に寄せて」でもまつもとさんが書いてある通りです。Rubyのユーザーとして長きにわたって経験を積んできたのみならず、Rubyコミッタとして広範囲にわたってRubyソースコードを改善してきた筆者の経験が『研鑽Rubyプログラミング』にはつまっています。

さらに日本語版でお得なのは、RubyKaigiに初期から関わる角谷さんの訳注があることです。例えばシンボルについて解説している部分では、シンボルが本質的には数値であり、実装としては ID という数値型をオブジェクトでラップしたものであることが語られているのですが、角谷さんは訳注として、初期の実装では実際にRubyレベルでも数値型だったこと、 ID をラップしていないシンボルもあることを書いています。いやぁ…、どちらも、特に元々は実装も数値だったことはRubyチョットワカルパーソンとしてはついつい語りたくなっちゃう話なんですよね……。

とまぁ、そんな感じで大変お得です。みなさんそういうの好きですよね?Rubyを書き始めた頃にこの本が手元にあったら、きっと、研鑽の友として手元に置きながら書いていて迷ったときに何度も開いたと思います。やりたいことに対していくつもの書き方がある "There is more than one way to do it" なRuby において、『研鑽Rubyプログラミング』はきっとまだ行くべき道を見定められない人の助けとなることでしょう。