メタプログラミングRuby第2版を読んだ

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

本書はレビューに参加させていただき、本を頂いていたものなんだけども、1版やレビューで読んでいたこともあり、なかなかきっちり読み終えられていなかったものを会社の読書会にて読了した。なお、今もオンライン読書会にてさらに精読中。

本書の第1版はRubyを学び始めたころ、初めてのRubyプログラミング言語 Rubyに続いて読んだ記憶がある。確か当時は中級者向き的なことが書かれていて、大丈夫かなあなんて思っていたはずだ。

本書はタイトル通り、Rubyにおけるメタプログラミングを解説する本で、シンプルなものからRailsやいくつかのGemの場合まで、様々な場合について教えてくれる。Rubyプログラマの間ではとても有名な名著で、影響を受けた人はとても多いと思う。メタプログラミングというと難しいものや不思議なものにとらえられがちなものだけど、本書を通じて理解が深まり決して不思議なものでないというところまでたどりつけることと思う。

タイトルで敬遠する人がいるかもしれないけど、今では一通りRubyの文法、制御構造や良く使うメソッドなんかをさらったあとはこの本を読んでみるべきだと思っている。この本にはRubyを楽しいと思うための要素が詰まっていると思うからだ。プログラミング初学者はRubyはなんでもできるのだなあと柔軟性にただ感心するだろうし、他言語から来た人はRubyの柔軟さに良くも悪くも驚くと思う。けど、ここらへんこそがRubyなんだと思う。冒頭にあるMatzの「Rubyは君を信頼する」にグッと来た人も多いんじゃなかろうか。応えたくなるのが人情である。

また、本書は1版の時と異なり2版はオライリーから出版されているが、訳は変わらず信頼と実績の角さんなので、なんか訳が不自然で読みにくいということもない。Rubyを学ぶ万人にオススメしたい本である。