DT日記

家を離れた自宅警備員の日記

もしもパーフェクトRubyがなかったらルビーはたちまち凍りつく

こんにちは! パーフェクトRuby Advent Calendar 2013の4日め! らしいです! 読者です! 発売日に購入しました! タイトルは適当です!

前の記事はid:t2osオンラインパーフェクトRuby読書会 - パーフェクトRuby Advent Calendar 3日目 - tatsuo.sakurai's diaryです。

さて、「パーフェクトRuby」は背表紙の煽り文句にRubyの全てを完全網羅!と書くだけあって、実に豊富な話題が取り上げられた書籍です。

Part5は特に実践的で、いままで書籍ではありそうでなかった「gemパッケージの作り方」「コマンドラインアプリケーション開発」「Webアプリケーション開発」といった実際のRubyの開発チュートリアル、そしてよく利用されるBundler、Capistrano、YARD、Pryといったツールの解説がまとまって居り、一読の価値があります。このパートだけ、もしくはパート4と合せた内容だけで一冊の本になるようなボリュームがあります。

「パーフェクトRuby」の話は細かい話はきっとほかのひとたちがするので、ほかのRuby書籍との比較でもしてみます*1

たのしいRuby

2002年の初版から定評のあるRuby入門書の最新版です(2013年6月発売)。

「パーフェクトRuby」はパーフェクトな本であり、ほかの言語で十分な開発経験のあるひとがすぐにでもRubyのエコシステムを網羅することには非常に向いていますが、残念ながらやさしい内容ではありません。これは難しいと思ったときに読むべきなのはこの「たのしいRuby」です。こちらはプログラミングの経験がなくてもじっくり読んで手を動かしていけばRubyを構成する要素の多くを理解できるような内容になってます。

たのしい開発 スタートアップRuby

たのしい開発 スタートアップRuby

たのしい開発 スタートアップRuby

先に取り上げた「たのしいRuby」が『Rubyプログラミングの基本を学ぶ』ための本だとするならば、「たのしい開発 スタートアップRuby」はエンジニアではない読者が『Rubyでの楽しい開発を学ぶ』『Rubyエンジニアになる』ための本です。「パーフェクトRuby」がRubyで開発する方法を解説して解説して解説しまくるのに対して、「たのしい開発 スタートアップRuby」は技術的なチュートリアルが半分、エンジニアとしての考へかたや方法論といった内容が残り半分で、開発の経験がないひとにも優しく語りかけます。

具体的な内容としてはRubyの基礎から始まり、アジャイル開発、「パーフェクトRuby」では紹介されてないRuby on RailsRSpecチュートリアルなども含まれます。こちらは「パーフェクトRuby」をすこし難しく感じてしまったひとのうち、Web業界の新人や就職・転職を検討してるひとに強くおすすめです。

Ruby逆引きレシピ

通称: 「レシピ先輩(仮)」。

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)

Ruby 逆引きレシピ すぐに美味しいサンプル&テクニック 232 (PROGRAMMER’S RECIPE)

233項目の「レシピ」に分けてRubyの基本オブジェクトやメソッド、Tipsからプログラミング技法、デザインパターンまでが幅広く、それぞれ簡潔に紹介された本です。刊行から既に四年の年月が経ちましたが*2経年で定番が交代したいくつかのライブラリを除けば、未だに色褪せないレシピ集です。逆引きレシピなので「やりたいこと」ベースで目次または巻末の索引から探すのが王道ではありますが、個人的にはぱらぱらっと適当なページをめくって読むのが好きです。

注意としては、「逆引きレシピ」の刊行当時とはRubyGemsのエコシステムについては変化が多いので、「パーフェクトRuby」の内容を参照するようにしてください。

著者のひとりはAsakusa.rbに、残りの4人はRuby札幌によくいらっしゃいますので、気軽に遊びにいって話しかけてみると良いです!

メタプログラミングRuby

メタプログラミングRuby

メタプログラミングRuby

「パーフェクトRuby」でもメタプログラミングについてはPart3のおよそ100ページもの分量が割かれてますが、「メタプログラミングRuby」は300ページまるまる濃厚にメタプログラミングです。正直言ってRubyの経験がない状態で「パーフェクトRuby」のPart3章を読んでも得るものは少ないのですが、Rubyの基礎を知らない状態で「メタプログラミングRuby」を読むことも難しいので、「パーフェクトRuby」のPart2を読んだあとPart3はさらっと読み流しつつ、「メタプログラミングRuby」を読み始め(時に往復しながら)、再度Part3を読むことで納得が得られるのではないかと感じました。相互補完!

明解! Ruby―奥深いRubyの文化を身に付けるテクニック

これも2012年末に発売された、かなり新しい本です。

明解!Ruby―奥深いRubyの文化を身に付けるテクニック

明解!Ruby―奥深いRubyの文化を身に付けるテクニック

これも「パーフェクトRuby」と同じく、ほかの言語での開発経験のある開発者向けですが、「パーフェクトRuby」を『エンジニアがRubyの言語・ライブラリの仕様を網羅的に学ぶ』ための本だとするならば、「明解! Ruby」は『エンジニアがRubyを活かした開発テクニックを学ぶ』『Rubyistになる』ための本です。開発言語としてのRubyに強い興味を惹かれたならば、こちらも是非読むべき本です。



まとめ

まとめてたらエモい長文になったので全部カットで*3

パーフェクトRuby Advent Calendar 2013の次の記事はid:seiunskyパーフェクトRuby Advent Calendar 2013(5日目) - すがブロです。

*1:念のため言っておきますと、はてなダイアリープラス会員ではないので私の手元には一円も入りません。残念ですね!

*2:私が読んだのは2010年の秋だったので… もう三年も経ちます

*3:今回紹介した本のうち、翻訳書を除いた残りには共通した特徴があって勉強会やコミュニティへの参加・交流を強く奨励する章があるんだよ、みたいな話からコミュニティによって一変させられてしまった人生! みたいな話で気がついたらエモくなってました。良くない良くない…