著者である「Rubyサポーターズ」のリーダー(?)、まーくんから本書「パーフェクトRuby」をいただいてからはや2か月。すっかり遅くなってしまったが、「パーフェクトRuby」の書評をやっと書いた。

ちなみにこの2か月何をしていたかというと、普通に本書を仕事に活用していた。いやー役に立つ本だ。さすが、信頼と実績のパーフェクトシリーズ。そして遅くなってごめんなさい、まーくんと愉快な仲間たち。


信頼と実績のパーフェクトシリーズ

技術評論社から出ている「パーフェクトシリーズ」は、どれも「その言語で仕事するならまずは読んでおけ」という内容を網羅した、信頼と実績のシリーズである。私も「パーフェクトPHP」と「パーフェクトJavaScript」の書評をさせていただいたのだが、どちらもとてもよい内容だった。

もちろん本書も「パーフェクトシリーズ」の名に恥じぬデキで、Rubyで仕事するなら知らなかったではすまされない内容を網羅している。

そして恥ずかしいことに、「11-6-3 集合の比較」「12-5-13 インストールしたgemパッケージを元に戻す」など、知らなかったことが結構あった。Rubyで仕事してもうすぐ3年になろうというのに…。

本書に書いてあること、書いてないこと

前半では基本的な構文と、特徴的な言語仕様について、豊富なサンプルコードとともに解説してある。この辺は「パーフェクトシリーズ」ならではの安心感。

Part3「メタプログラミング」は、Rubyの特徴であり大きな強みである「メタプログラミング」に関連する要素を解説している。自分でメタメタしたコードを書かないとしても、読むときに知らないと苦労したりする部分なので、短く適切にまとまっているのはとてもありがたい。

魔導書「メタプログラミングRuby」へのステップとしても、力になってくれる内容だ。

Part5「実践プログラミング」は、実際のアプリケーション開発を模した流れで、仕事でやってると出くわすことの多いシーンが書かれている。bundlerの使い方やpryでのデバッグなどは、たいてい必要に迫られたときにヒーヒーいいながら覚えるので、事前に予習しておくのはとてもいいことだ。

また、Webアプリケーションの開発例としてSinatraを使っているのもたいへんよい。Railsでnewしてscaffoldしてdb:migrateしてserverして「わーい!」というチュートリアルはwebでも本でもたくさんあるが、Sinatraはもうちょっと不便でいろいろ書かなくちゃならない(それでも十分便利なんだけど)。「信頼と実績のパーフェクトシリーズ」でSinatraが例題になってることに、なんとなく心強さを感じた(「老害乙」と言われるのは覚悟済み)。

ということで、本書ではActiveRecordには触れているが、ActiveSupportとRuby on Railsにはほぼ触れていない。Railsに触れる前に「素のRuby」を触っておくのは学習のルートとしていいことだと思うので、本書でRubyを学ぶのはいいことだと思う。

Rubyサポーターズの屍を超えて行け

あえてひどいことを言えば、本書はRubyistとして「知ってて当たり前のこと」を平易に書いてある本だ。

なので、プロとして仕事をするからには、本書を窓から投げ捨ててもやっていけるぐらいにはなっておきたい。つまり、さんざん苦労して本書を書き上げた「Rubyサポーターズ」の屍を超えると、世の中に一人前のRubyistがひとり増える、ということになる。

本書の内容を身につけて、一人前のRubyistを目指そう。私も、本書を窓から投げ捨てるために修行の毎日です。