07/06/30 03:01
JRuby on Rails

このプログも、一ヶ月に一回ペースになってきつつありますが、元気でやってます(^^;
というのも、テーマを分けて他のプログやSNSなど、書き込むところが分散すると、どうしても更新感覚があいてしまいがちですね。

現在、JavaServletの仕事をしていますが、JRubyのリリースのニュースを聞き、もっと楽に開発できないのかと思っています。Rubyは今から 5,6年前に熱心に勉強した覚えがありますが、その後仕事で使う機会もなく、忘れかけていました。最近はRubyOnRailsのブレイクで再び話題となり、また勉強をはじめました。このサイトもRailsにかえようかと思っています。Rubyの長所は少ないコーディングで簡単にプログラムが組めることですが、弱点はなんといっても処理コストの高さでしょう。そういった点や信頼性でどうしてJavaでの実装が多くなってしまいます。しかし最近Tomcat を使ったフレームワークで開発をしていると、つくづく設定のめんどくささや、再起動のわずわしさを感じます。ちょっとの修正でも、そのプロジェクトの共通ルールを理解した上でやる必要があります。これが開発コストにはねかえっているだなぁとつくづく感じる今日このごろです。
しかしRailsがJRubyで動作するというニュースを聞くと、これからはやはりこうあるぺきだろうと率直に感じました。Javaのクラスライブラリを使える点と、RubyがVM上で高速動作するという点で、これから大規模なプロジェクトでも十分使われるのではと思います。JRubyの開発者がSunの社員として迎えられたのも、それだけ大きな影響力をもっているからでしょう。Rubyのメリットはプログラマに創造意欲をわかせる点でも有用だと思います。めんどくさい設定やルールを理解することは、非生産的な作業です。特に大規模なプロジェクトになるほどこのウェイトが高くなります。仕事とわりきればいいのですが、昔からプログラマをやっている身からすると、このままだとだんだんこの仕事に魅力がなくなってきている気がするのは私だけでしょうか。
コンピュータの処理の高速化の実現は、クロック周波数から、マルチコア数へと変化しはじめました。またプログラム言語は処理の高速化にともないアセンブラのような低レベル言語からJavaのような高級言語が使用できるようになってきました。さらに高速化を実現するために、次のパラダイムは言語レベルの並列性だと言われます。(それだけ性能の向上に限界にきているということかも) Erlang,Haskellのような関数型言語の副作用のない性質が並列性に向いているということで最近話題です。これは次期C#、Javaにも組み込まれると言われています。私はアセンブラ時代のような(ちょっと質はちがうが)、プログラマの創造性がパフォーマンスに大きく影響を与える再び時代がくるのではと思っています。与えられたAPIを叩くだけ、与えられたクラスライブラリを使うだけがプログラマではないのだということが理解されるのではと期待しています。