最近のRuby(rails)についていろいろいわれていることについて、ちゃんとさわってない人間が適当に書いてみる

最近、Railsの案件が炎上するだとか、そんな感じのエントリを読んで思ったことを、適当に書いてみる。

Railsは生産性が高いと言われているのに、ちらほら炎上という話について。これは、ホントに僕はやったことが無いので、想像になるんだけど、まず、Railsは確かに他のフレームワークより早く物を作れるかもしれないけど、そこまでになるまでの学習コストが考慮されていないんじゃないかと。実際、コードジェネレーションによるデモ的なものを作るところまでは、簡単だと思う。でも、そこからまともなアプリケーションを作るまでには、いろいろ覚えなきゃいけないことがあると思う。

学習コストがあまり考慮されていないとすると、Rubyが簡単で楽しいという言葉のせいだろうと思う。

Rubyが簡単かというと、ちょっと個人的には"?"だと思う。確かに、JavaやCと比べると同じことをやるのに、より高級な言語であるRubyの方が簡単に書けると思う。たださ、今までJavaだけやってましたとか、そういう人がいきなりRubyの全てを簡単に感じるかというと、そいうことは無いんじゃないかと。まず、よく聞くのが、型が無くてなれないとか。あと、よくわからないRubyらしさとか。なんだよ、"らしさ"とか具体的でない抽象的な表現は。

個人的にRubyが楽しいと思うところは、こう書けるかなと思ったことを書いたら動くということ。慣れてくると今まで書いていたことをより簡潔に書けるようになって、少し成長をしているんじゃないかということを感じれることだと思う。あとは、さっきdisっといてなんだが、Rubyらしく書けたときかなぁ。なんというか、Rubyらしく書けないとRubyで書いていても楽しくない。Win32OLEでExcelをいじっているとき強く感じるんだけど、あれはExcelのオブジェクトをそのままいじるので、なんというかメソッド名だとかオブジェクトに対するアクセスの仕方がRubyっぽく書けないので結構ストレスフルになります。
というわけで、Rubyを楽しいと感じれるようになるのは、ある程度Rubyが書けるようになってからじゃないかと。あるいは、自分の書くプログラムに対して、なんらかのこだわりがある人じゃないかと。

そして、Railsの移行が、JavaからRailsになっているために、学習しなければいけないのが、Rubyrailsの二つをいきなりやらないといけないというのも大変だよなぁと思う。


あと、炎上するRailsプロジェクトには、RailsもしくはRubyの経験者がいなかったんじゃないかと。Ruby会議で聞いた、楽天だとかniftyのお話だと、まず自分たちで勉強をして使えると判断してから、実践に投入していているような話だった。それに、どちらもNaclが協力しているしね。Web+DBのvol40の角谷さんのアジャイルについての連載に書いてあったんだけど、XPを実践するにあたっても、いきなりXPをやったことのない人たちだけですべてXPのことをやろうとすると、うまくいかないだろうって。それは、言語やフレームワークについてもいえるんじゃないかなぁと思う。まして、最近では、 Rubyアジャイルとワンセットとして扱われている気がするし。

というわけで、Rubyの特徴である、楽しくて簡単というのが、Railsプロジェクトの炎上の最大の黒幕ではないかと思っていたりもします。

なんとなく、書き終わってみると、いろんな人がいっていたことの焼き増しみたくなってしまってやだなぁ。