なぜRuby on Railsは流行ったか。

ここ2ヶ月くらいは、僕の人生で最もソースコードを書いたのではないかというくらい、自分でコードを書いています。そこで感じたことを一つ。


僕の場合、2000年頃にバイトでPerl(CGI)を書いていたので、自分の中でのメイン言語はずっとPerlでした。その後は、自分の周りに自分よりも何百倍もプログラムが書ける奴が多すぎて、プログラムを書くという役割は自分の役割じゃないと思い続けていたので、僕のプログラミングの知識も経験はあまり進化しないまま最近に至りました。もちろん、その間も研究用途でかなりの量のプログラムを書いたけど、研究で書くプログラムとサービスに使われるものとでは、気にしなきゃならないことの量が圧倒的に違うので、そういう意味では僕の進化はかなり止まっていたことになります。


ところが、最近、やっぱり自分でサービスを作るには、少なくてもサービスが急成長しているうちは、小回りを利かせるためにも、自分で書かなきゃだめだということを痛感して、できるだけ自分で書くように努力しています。2000年当時は、PHPRubyもウェブのサービスに使うにはちょっと物足りなかったけど(少なくても僕はそう思っていたけど)、今の時代に「学習コストが一番小さくて、あまり大きくないサービスを最も速く開発できる言語は?」ということでRuby(with RoR)かPHPだなぁと思い両方を触り始めました。


あまりに長い間現場から離れていたので、リハビリを兼ねていろいろな人に聞いて回ったら皆、何かしらのフレームワークを使っているとのことでした。そこで感じたことが、PHPだとMojavi, CakePHP, Symfony, Smarty(smartyフレームワークとは言わないかな。。)と多数のフレームワークが乱立しているのに対し、RubyだとほとんどRoR以外のフレームワークがないということでした。


「言語人口」からすれば、PHPRubyの何倍も大きいと思うけど、PHPには複数のフレームワークたる「派閥」が乱立してしまっているので、一つ一つのフレームワークの「フレームワーク人口」を見ると、もしかするとRoRが最大なんじゃないかと感じた次第です。後発かつ少数の民族がグローバル競争に勝っていくには資源の一極集中という非常に分かりやすい現象が、オープンソースの世界でも起きていると言えるのではないか。これがRoRがここまで一気に流行っている要因の一つなのではと思った次第。


が、僕はと言うと、、、、フレームワークを覚える気にならず、そんなものを覚えるくらいならさっさとサービスを作った方が良いと思い、できるだけ小回りが利くようにコードを書くようにしています。これはサービスの規模が小さいうちだけに適用できることだとは思いますが、このやり方が圧倒的に速くて効率が良いので、大きくなるまではこのやり方を続けて、ある程度大きくなったら根本から作り替えるようにしていきたいと思います。