開発メモ

開発関係のメモをいろいろと。たぶん。

メタプログラミングRuby

メタプログラミングRuby

メタプログラミングRuby_a

種類 情報
著者 Paolo Perrotta
角征典
発行日 2010年8月31日 初版第1刷発行
2010年12月24日 第1版第2刷発行
発行 アスキー・メディアワークス

感想

ベースになってるのはRuby 1.9.1。1.8系統で動作が違う場合は注釈が入ってる。

メタプログラミングを詳しく説明するための本だけど、その前提として、オブジェクトやクラスの事を詳しく説明してある。この辺を、なんとなくで使ってる人が知識を深めるにはピッタリかと。もちろん、メタプログラミングそのものの話も詳しく載ってるし。

特異クラスとか特異メソッドの話も充実してる。むしろ、説明しすぎてわけがわからなくなってる気がしないでもないけど。最後は、自分で実験しろってことだな。

全体的に「動的にメソッドを操作できたら便利でしょ?」って話に終始するんだけど、そもそも、「メソッドを操作する必要があるのか?」って部分は無視されてる。O/Rマッピング1つとっても、無理にメソッドと対応付けなくても、ハッシュを使うだけで同じようなことは出来るわけで・・・ そういうことを言い出したら、メタプログラミングを否定することになるから駄目なのかな?


個人的には、サンプルの出来が悪いのが気になった。サンプルのためのサンプルだから仕方がないのかもしれないけど、もうちょっと、どうにか出来たんじゃないの? わざわざ、保守が難しくなる方向でリファクタリングしてどうするの? 最後の、ブラックホールの話のサンプルとかひどすぎる。せっかくエラーが出てたのを、握りつぶす方向で修正してどうするんだか。酷いサンプルを無理やりでっち上げるくらいなら、載せないほうがマシ。

「頭文字M セカンドステージ」とか「ジャッジメントですの」とか、それっぽいネタがちょこちょこ入ってるのは著者の趣味なんだろうか? それとも、翻訳した人の趣味? さり気なく入れたつもりなんだろうけど、逆に浮いて悪目立ちしてる。どうせやるなら、萌え絵師とタッグを組んで、とことん突き詰めるぐらいやらないと。中途半端なのが一番良くない。


なんとなくRubyを使ってるけど、詳しいことには自信がない人におすすめ? とりあえず、Rubyを使ってる人なら一度は読んでみると良いかも。プログラミングの完全な初心者にはおすすめできない。中途半端に偏った知識を覚えちゃう可能性が高い。Rubyじゃ無くても良いから、ある程度、プログラミングの経験のある人が対象だな。

種を明かしてしまうと魔術は魔術じゃなくなっちゃうんで、そういうところに夢を見てる人は読まない方が良いのかも?

おすすめ指数:☆☆☆☆

(2013/06/07 読了)