Ruby, Perl, 互換性

RubyRailsがdisられるとき、互換性のことをいろいろ言われることが多い。

Perlはそういう話、あまり聞かない (ただし自分のPerlに対するアンテナは相当低い)。

でも、よく考えるとPerlの最新版のバージョンは5.xとかで、Rubyは1.9.3が出たばかり、2.0のブランチが切られたところ。

リリースのサイクルや粒度が違うから単純にバージョン・ナンバーを比較できるものではないけど、Perlのほうがずっと年長で枯れている。対してRubyはまだまだ若い。

Perlだってバージョンが若かった頃は互換性に頭を悩ませる人が多かったのではないかと推察する。あるいはそうでなかったのかもしれない。

まだ若いRubyをつかった赤ん坊のようだったRails, それらがまだ幼いうちに目をつけた人たちがいて今もいる。

なにをもって若いとするのかいろいろ議論がありそうだけど、たしかに互換性で悩む部分はあるものの、オープンソースの精神はRubyコミュニティにかなり強く根付いていて、ほとんどのプロダクト・ライブラリがオープンだし (Railsだってそう)、互換性を確保されてないのなら自分で修正することもできる。

それをupstreamに取り込んでもらうことだって、GitHubをはじめとするSocial Codingの精神の発達によってかなり簡単になった。

なによりリリースのたびにRuby (やRails, あらゆるプロダクトだ) は着実によくなっているし、まあ大目に見てもよいんじゃないかな、という気がする。