パーフェクトRubyを読んだ

パーフェクトRuby (PERFECT SERIES 6)

パーフェクトRuby (PERFECT SERIES 6)

  • 作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一
  • 出版社/メーカー: 技術評論社
  • 発売日: 2013/08/10
  • メディア: 大型本
  • この商品を含むブログ (22件) を見る

正月くらいに買って積んであった本。この本の最初に書いてある対象読者の1つに、"過去にRubyは触っていたが、しばらく触っておらず、最近のRubyを学び直したい人"とあるのだけど、そういうつもりで読んだ。Ruby2.0時代の言語仕様が丁寧に説明されているし、BundlerとかのRuby界でよく使われるツールの解説などもあって便利度が高い。最近の本でこのくらい網羅的な本はあまり無いと思うので、たまにRubyを使うだけの人も会社とか家の本棚に置いておくと、リファレンスとして便利に使えそうだと思った。

この本は全部で5つのPartにわかれていて、以下のようになってる。

  • Part1 Ruby ~overview
  • Part2 Rubyの言語仕様
  • Part3 メタプログラミング
  • Part4 標準添付ライブラリ
  • Part5 実践プログラミング

特におもしろかったのは、Part3のメタプログラミングとPart5の実践プログラミングの部分。

Part3のメタプログラミングでは、動的なプログラミングやリフレクションといった話題がでてくるが、Rubyのクラスオブジェクトについての章が自分としては一番有用だった。Rubyのオブジェクト志向シンプルで良いと思うのだけど、オブジェクト、得意クラス、クラスと継承、モジュールとmixinの関係がときどき頻繁にわからなってしまう。この本では、段階的に図を使って説明してくれるので、どうなっていたかこんがらがっても、その部分を読めばすぐに理解できる感じになってる。

Part5の実践プログラミングでは、実際の開発に必要なツールの紹介がコンパクトで丁寧にされている。普段Rubyになじみのない人も、Rubyの開発に必要なツールのひと通りの使い方やツールが取り扱っている概念をすぐに勉強できる。例えば、うちの会社ではCapistranoを使ってるのだけど、設定を変更するにはまずCapistranoのwikiをじっくり読み込んで、どういう概念があるかなどを理解する必要があった。この章ではCapistranoの取り扱ってるtaskやroleといった概念をひとおとおり教えてくれるので、今後はまずパーフェクトRubyを読んでからドキュメントにあたるとスムーズにCapistranoを理解できそう。他にもBundlerやYARD、RackやSinatraなど、Ruby界ではよく使われているツールについての説明がそろっている。

ほぼ最新のRubyの言語仕様とその周辺ツール群をざっくり理解するのにこの本を読むのは効率が良さそう。主な言語としてRubyを利用していなくても、Rubyで書かれたツールを利用するという人も多いだろうから、こういう本が手元にあると便利だと思う。