2009年の今、Railsを始める初心者にどの本を薦めたら良いか?問題

なかなか難しい。というのは1年前だったらRailsによるアジャイルWebアプリケーション開発 第2版」(通称アジャイル本)でファイナルアンサーだったんだけどRails2系が出たことで状況が変わった。アジャイル本はRailsの記述バージョンが1.2系と古い。Railsはバージョンアップで結構振る舞いが変わるでしょう?全然互換性無くて「ぎゃーっ!!」なものはないが、初心者の場合自分が間違っているのかバージョンの違いなのかでハマりやすい。と思う。
また実案件で言うと1.2系を最新版のRailsで動かすには色々手を入れる必要があるので、できるだけRails2系で始めた方がいいと思う。

2009.01.09追記

たくさんブックマークしていただいて恐縮です。私の狭い観測範囲だけでは申し訳ないのでRails勉強会@東京のIRC、#rails-tokyoで相談してみました。その結果をまとめると以下のセットが良いのではという話になりました。
Railsとは何か、を学ぶには → アジャイル
・2系にキャッチアップするには → 逆引き本/レシピ本
意味はRailsの概要やらコンセプトやら(What/Why系)を学ぶならアジャイル本が適している。しかしアジャイル本は1.2系であり最新の2系とはギャップがある。これ(Howの最新状況)を補うのに「逆引き本」、「レシピ本」が必要、という趣旨です。
--追記終わり

RailsによるアジャイルWebアプリケーション開発 第2版」(4,410円)

Rails開発者のDHHと達人プログラマのDave Thomasの黄金タッグによる決定版。技術書全般を見渡しても良書と言える。ここ数年間にRailsを始めた人はみんなこれで学んだと思う。RailsにはCoC(設定より規約)とかDRY(Don't Repeat Yourself)とかRails Wayなんて呼ばれたりする幾つかのRails的思考、Rails的ポリシーがあって、この本を読むとそれらが身に付く。というか理解できる。ただし、内容が古いのが難点。Rails1.2系が中心でRails2系は「2系だとこうなる予定」という記述になっている。(今手元にないのでうろ覚え)


バージョンが古くてもアジャイル本をお薦めする理由はこのRails的思考、Rails的ポリシーという奴が重要で、陳腐化しない知識だから。逆に、細かい技術的なことは実践の中で覚えればいい。

RailsによるアジャイルWebアプリケーション開発 第2版

RailsによるアジャイルWebアプリケーション開発 第2版

Railsレシピブック 183の技」(2,940円)

実案件やるならこの本だけはガチ。
永和の諸橋さん(id:moro)らが20個近いRails案件をこなしたノウハウをまとめたものなので実用的。三鷹Rails図書館パッケージ開発チームは4人中3人持っていて、私は毎日どっかのページを参照してました。1.2系と2系を両方サポートしている点もGood!

Railsレシピブック 183の技

Railsレシピブック 183の技

Ruby on Rails 逆引きクイックリファレンス Rails 2.0対応」(3,675円)

Award on Rails第一回大賞を受賞した万葉の大場寧子さんと、Jruby1.0リリースに大きく貢献したCTCの大場光一郎さんご夫妻&万葉の久保さんによるRails本。Rails案件ばりばりこなしている大場さんが書いており未読ですが周りの評判良いです。会社で買って貰おうかな。
#ところでこの本は「逆引き本」と「万葉本」のどちらの言い方がメジャなんでしょう??>ALL

Ruby on Rails 逆引きクイックリファレンス Rails 2.0対応

Ruby on Rails 逆引きクイックリファレンス Rails 2.0対応

大場さん夫妻についてはこちら。

ということで「コーディングしたくてしたくてむずむず」みたいな人たちが著者なので安心です。
http://www.web-career.com/contents/buyuden/6.html

そして、やっぱり実装したいっていうことで辞めたんです。しばらくは、個人事業主で手伝ったりもしてましたが、実装したくて辞めてるので有給消化の頃からコーディングしたくてしたくてむずむずしているわけですよ。

「基礎Ruby on Rails」(3,465 円)

図書館プロジェクトの部屋に置いてあったのでぱらぱらと見た所わかりやすかったので追加。Rails Wayより良いと思う。

基礎Ruby on Rails (IMPRESS KISO SERIES)

基礎Ruby on Rails (IMPRESS KISO SERIES)

Rails Way (Professional Ruby Series) 」(5,670 円)

未読。2008/12/4発行と新しい。高いが色々Rails本が出揃った後に書かれた本なので整理された本、という印象。

Rails Way (Professional Ruby Series)

Rails Way (Professional Ruby Series)

「実践 Rails -強力なWebアプリケーションをすばやく構築するテクニック」(3,150円)

Rails勉強会@東京で「買わない人は何なの?死ぬの?」と言われるぐらい流行っていた一冊。まだ読んでいない(爆)。
メタプロだのRubyのC実装部分だのマニアックな所を自重せずに書いているらしいので今までの本で物足りない人はどうぞ。

http://twitter.com/yugui/status/1004953509
私が『初めてのRuby』で自重したあたりのネタを自重しない『実践Rails』がけまらしい

http://ko.meadowy.net/~koichiro/diary/20081221.html

「実践Railsを愛でる」覚え書

  • 1章ヤヴァい
  • [角谷] この本に書いてある「Railsの基礎」とは「Railsを構成している要素の基礎部分」のこと。建築の基礎工事に該当する。「Railsを使うための基礎」ではないので注意
  • RHGを推薦参考書籍にあげておりRHGに書いてある内容が断りなしにでてくる。「皆さんご存じのCmap...」
  • 同様にCで実装されている部分の話もナチュラルに出てくる
  • 基本的にパーツが投げ出されている([nay] 大学の講義のようだ)

ソースから学ぶ:Redmine、SKIP

RedmineRails製のプロジェクト管理ツール。SKIPはRails製の社内SNSで日本のTISが開発している。両方オープンソースで公開されている。外部仕様がわかりやすいのでソースを見ながら勉強するのに良い。SKIPはテストがRspecで書かれているのでRspecの勉強にも良い。


んー。他にありますか??>ALL

--2009.01.06追記:結局RailsやるならRubyも学ばねばということでRuby関係本を追加した。

「初めてのRuby」(2,310円)

各所で良書との評価。内容は以下で言い尽くされているので略。

http://www.amazon.co.jp/%E5%88%9D%E3%82%81%E3%81%A6%E3%81%AERuby-Yugui/dp/4873113679/ref=pd_sim_b_9

内容紹介

本書は、他言語でのプログラミング経験を持つ人を対象に、Rubyの特徴、Rubyならではの方法や慣習について解説します。これはRubyの資料を読んで実践的な学習を進めていくために必要な前提知識です。本書はRubyの基礎的な部分とメタクラスやブロック構文のような独自の概念、それらにまつわる文化を説明し、Ruby特有の考え方を知ってもらうことを目的としています。本書を最後まで読めば、「Rubyリファレンスマニュアル」を自在に読みこなし多様なRubyライブラリを活用して、自力で高度なRubyプログラミングを習得するだけの基礎知識が手に入るでしょう。Ruby1.8及び1.9に対応しています。

初めてのRuby

初めてのRuby

Ruby Way 第2版 (Professional Ruby Series)」 5,670円

下記目次を見るとわかるが、結構細かい。Ruby初心者から脱出しようという人がこの機能はRubyでどう書くのか?を学べる。と思う。
http://www.cbook24.com/shop/productdetail.aspx?sku=9784798115337

http://www.amazon.co.jp/Ruby-Way-%E7%AC%AC2%E7%89%88-Professional/dp/4798115339/ref=pd_bxgy_b_img_a

内容紹介

Ruby習得の決定版。最新バージョン1.9に対応し、堂々の第2版!

本書には“Rubyによるプログラミング”のすべてが詰まっています。初めてRubyに触れる
ユーザーはもちろん、上級者をも納得させるに足る情報量と質に圧倒されてください。
とはいえ単に情報が多いだけではありません。見事なくらいコンパクトにまとめられ、
まさに今、Rubyプログラマにとって“必要十分”な内容が詰まっているのです。

Ruby Way 第2版 (Professional Ruby Series)

Ruby Way 第2版 (Professional Ruby Series)

その他のRails本(2008年春モデル)