2007/11/25
僕が Ruby on Rails を絶賛する理由
» GOGA - doodle開発記: Ruby on Railsをめぐる二つの見解
を受けてのエントリー。
人の価値観とか何が誰にとってぴったり合うかなんてことはケースバイケース。「この映画がすごくいいよ」とか「この本絶対面白いから、読んでみて」と人に薦めたって、「絶対」なんてことはありえないというのが僕のスタンスです。だから自分の価値観を人に押し付ける人を見ると「何言ってんだか」と思ってしまう。
でも、自分と境遇が似ていたり、他の面での趣味趣向が同じ場合には、薦めたもの薦められたものが一致する可能性はかなり高い。だから、自分の好きなブログを読んでいて、そこで薦められていた本を手に取ってみたらばっちりはまることが多いのである。
で、Ruby on Rails の話に戻るのだが、
ちょうどMAの輪でも前日の呑み会でRails入門開催決定なるほどの盛り上がりをみせ、ついにジュンヤさんが本当にRoR解説サイトまで作ってしまったり、Skypeでの講義まで始まっているようなのだが、かつて私がPerl/CGIからPHPに移行したときのような凄まじい生産性の向上と魅力的な感動がRoRにはあるのか尋ねたところ、彼は「それ以上だ」と答えた。
とある通り、最近会う人会う人に「Ruby on Rails いいよ!」と薦めてきたのだけれど、多少考えなしで、自分が「自分の価値観を人に押し付ける人」になっていたんではないかと思ってしまった。
人にものをすすめるときには、ちゃんと自分の場合にはこうこう、こういう理由でぴったりはまったんだけれど、あなたの場合にはわからないが、僕の考えと多少共感する部分があるのなら、ぴったりとあう可能性は高いですよ、ということをある程度伝えながら薦めたほうがいいなと思うのでした。
僕が Ruby on Rails と出会ったのは、まだ Web プログラミングを本格的に始めて約一年経ったときでした。PHP 歴一年だったのですが、別段 PHP を使いこなしているほどってわけでもなく、PEAR のライブラリはあまり使ったことがなく、フレームワークもほとんど触ったことがありませんでした。
なので、言ってみたら、失うものがほとんどない状態だったのです。
自分のスタイルというのが確立されていなかったので、変数の名前だとか共通で使う関数はどこに置くのかといったことを型どおりにはめてくれる RoR は非常に都合がよかったのです。
また、SQL を書かずに DB にアクセスできる ActiveRecord やページネーションがわずか数行で書けるといったところに魅せられました。PEAR ライブラリを駆使すれば、PHP でも同等のことができるのかもしれないのですが、当時そういう知識がほとんどありませんでした。
デフォルトでそういった便利機能が使えるというところも気に入りました。migration やテスト機能は、すでに PHP で独自にそうした機能を実装してしまった PHP ハッカーの方々には RoR のそれは別段魅力的には見えないのかもしれませんが、インストールした先からいきなり使えてしまうというのは僕にはとても便利だったのです。
僕は自分は文系プログラマーなんじゃないかということを最近思い始めました。ものがどういう風に動いているかということには正直あまり興味がないのです。ある程度ブラックボックスで考えて、これとこれをこう組み合わせたら、自分の望む機能が実現できて、つかってくれる人が「おおこれは便利!」と喜んでくれそう、という思考を持つのです。
だから、
の Creating a weblog in 15 minutes (15分でBlogアプリを作ってしまう) の動画をみたとき、これはもうまさに僕の欲しかったものだ、と思ったものでした。
実際に僕がやった場合には、まあその10倍かかったとしても、150分で頭の中にあるアイデアをこんなに素早く形にできたら最高だ、と考えたのです。
まとめると、僕のように
1. PHP で築いた資産があんまりないよという方
2. 自分でフレームワークとか作っちゃう、あるいは、世の中で使われているライブラリなんか使えない、自分でそれよりも効率よいものを作ってしまうぜ、というハードコアなエンジニアでない方
3. ある意味動けばOKというスタンスで自分のアイデアを素早く形にしたいという方
には断然 Ruby on Rails がおすすめです。
あと、RoR をすすめるとき、セットで「RailsによるアジャイルWebアプリケーション開発」を教科書として薦めておきます。
この本がなかったら、Rails もここまで広まらなかったんじゃないかと言えるほどの最高の良書だと思っています。
最近、第2版が出版されたのですが、まわりの Rails エンジニアで第1版を持っていたんだけれど第2版も買ってしまったと言う人を何人も知っています。僕もたまらず買ってしまいました。

実際には内容がかなり書き換えられて良くなっているというのはあるのですが、版が新しくなったから買った本なんて初めてです。
オーム社 (2007/10/26)
売り上げランキング: 2372

1日に少しの時間で成果が分かる1冊
Ruby on Rails 入門の決定版!
この記事にリンク
- KDD で「iPhoneで算数」という iPhone 用 Web アプリを作ってみました
- F906i に換えて変わった僕の生活、5つ
- mysql と sqlite3 のどちらでも動作するよう find 文を書く方法



投稿者:榊祐介
2007/11/26 at 1:51:41
「第2版」は良いですね。私も2冊持ってます。
今やっているRuby、Rails講師養成講座でも副読本として使われていますよ。
1)技術レベルが高い人にとって自分が慣れた言語の方が生産性が高いのは真理だと思います。
ただし僕にとってはRubyで言う所の「簡単なことは簡単に/複雑なことはそれなりに」できるかが重要です。JAVAを始めとして簡単なことが簡単にできない/記述量が多いフレームワークって結構ありませんか?HOWではなくWHATに興味がある人はRailsお勧めですよね。黒魔術とか気にしない!(w
2)Railsは規約の主張が激しいのでそこら辺の価値観が合う合わないはありますよね。
今開発案件で触っていますが今のところ「付いていけない!」という感じの特殊なのはない気がします。だいたい「適切な初期値」になってます。
投稿者:ジュンヤ
2007/11/26 at 11:01:16
おお、ここにも2冊とも買ってしまった人が。。。
>>HOWではなくWHATに興味がある人はRailsお勧めですよね。黒魔術とか気にしない!(w
はじめは WHAT に興味があって、そのうち HOW が知りたくなってきたら、そのときソースコードを追ってつきとめることもできますね。最近の僕はちょうどそのあたりかな?
Rails のコード中にあるコメントはすごく丁寧。
>>2)Railsは規約の主張が激しいのでそこら辺の価値観が合う合わないはありますよね。
なるほど。漠然と思っていたことをちゃんと言葉にしていただいた感じです。
あと、英語の文法をもとにした規約が多いので、英語脳に切り替えると、すらすら頭に入ってくるということがあると思います。
モデルの単数、複数とか。
僕は英語が得意なので、そのあたりはわけないのですが、そこでとまどうという人もいるかもしれませんね。
投稿者:けひん
2007/11/26 at 15:42:14
ネガティブなエントリーに見えてしまったらすみません。価値中立で書いたつもりですがPHPマンセーなのも事実なのでどうかポジティブに捉えて頂けたらと思います。思えば私もPerlからPHPの過渡期はブツクサ言ってました(^^;;
で、私も1~3を当てはめてみたのですがRoR気になるので早速本を注文したいと思います。規則がきっちり決まっているのは、もしかしたらCOBOLerとかうまくハマったりして?!
いい本の紹介をありがとうございました。
投稿者:ジュンヤ
2007/11/26 at 23:01:12
けひんさん
中立と受け取りましたよ。そう聞こえなかったら、ぼくの筆力不足です。
おお、本注文したんですか。けひんさんが RoR にはまるかどうか楽しみ、楽しみ。