7月の誕生石はルビー
この前買った”Beautiful Code”を読んでたら、プログラミング熱というか、Ruby熱が高まってきたので、最近出版されて結構評判のいい“初めてのRuby”と、勢い余ってなぜか”Ruby on Rails 入門”を買ってファミレスにこもって読んできました。
“初めての Ruby”は、プログラミング初心者という意味の初めてではなくて、他言語の経験者向けをターゲットに絞っていて、いい内容だった。入門書は、「こうやったらこうできますね」で終わってしまうものが多いと思うんだけど、この本は「こうやったらどうなるかな。これはなんでこうなってるんだろう。」と興味をくすぐりながら展開していくのが面白かった。読後は、もっとRubyのことを深いところまで知りたくなったので、ちょっと処理系のコードでも読んでみようと思う。
“初めてのRuby”は2200円という破格の値段でかなりの良書。これから Ruby をやってみようという人にもおすすめです(JavaかC++、というかオブジェクト指向プログラミングについてある程度知らないときついかもしれない)。まあ入門書だから入門者におすすめなのは当たり前なんだけど(笑)
個人的に Ruby の好きなところは、一番はなんといってもブロック。ブロックは超強力で、好きな制御構造を自分で作れるし、ファイルなどのリソースを扱う処理で解放を忘れないようにすることができるし、(1..10).select{|i| i%2==0} みたいに直感的に書ける。
あとはメソッドチェーンとか。メソッドの引数の括弧は省略できて、引数なしのメソッドをつらつらと連鎖させるとすごく楽しい。ワンライナーにも便利。
本当にすべてのものがオブジェクトになっているのもいい。また、すべてのクラスはObjectクラスをスーパークラスとして持つが、Objectクラス自体はClassクラスのインスタンスになっていたりするのも面白い。全体的に一貫性があるので、「多分ここはアレと同じようになっているだろうな」という直感が当てはまりやすい。
さて、無料で公開されている資料を参考に Ruby のソースでも読もう。
ソースコードを読むための技術
http://i.loveruby.net/ja/misc/readingcode.html
Ruby ソースコード完全解説
http://i.loveruby.net/ja/rhg/book/