現在、複数の Ruby 実装が進行中です。あなたはどちらを楽しみにしていますか、そしてその理由は何ですか? 本番環境で MRI 以外の実装を積極的に使用していますか?
オプションのいくつかは次のとおりです。
現在、複数の Ruby 実装が進行中です。あなたはどちらを楽しみにしていますか、そしてその理由は何ですか? 本番環境で MRI 以外の実装を積極的に使用していますか?
オプションのいくつかは次のとおりです。
リニアモーターカー。これには、何年にもわたって主要なSmalltalkVMに導入されたすべての最適化の速度の利点があります。さらに、すべてのデータがほぼ自動的に自動的に保持されるため、オブジェクトリレーショナルマッピングレイヤーなどをいじくり回す必要がなくなります。
Ruby 1.9(YARV)は、ルビーがどこに向かっているのかについての良いアイデアを私たちに与えてくれますが、本番環境での使用はお勧めしません。確かに1.8よりもはるかに高速ですが、構文の一部でさえ変更され続けるため、安定しているとは言えないと思います。それは確かに時間の経過とともに他のすべての実装にそれらの方法を見つけるであろういくつかの興味深い新機能と構文を持っています。
JRubyとIronRubyは、Rubyが他の方法では使用できなかった新しいライブラリや環境のすべてにRubyがアクセスできるようにするという点で便利です。私自身はまだあまり使い道がありませんが、存在するのは素晴らしいことだと思います。それらは、ルビーが他の方法では許可されない企業環境に侵入することを可能にするかもしれません。それは良いことです。
RubiniusとMaglevはおそらく最も興味深いプロジェクトですが、コミュニティへの利益が最も将来的になる可能性が高いプロジェクトでもあります。Rubiniusは、Ruby言語用の最先端の「純粋な」VMに発展する可能性があり、Rubyコードを現在よりもはるかに高速に実行できるようになります。Maglevも、20年以上のVMの経験に裏打ちされており、非常に有望であるように思われます。また、標準のVMを超える機能も提供しますが、もちろん、これらにはコードの移植性が犠牲になります。
しかし、全体として、私が最も興奮しているのは、これらの実装間の競争です。競合するプロジェクトがすべてルビーをより良くするために働いていることは、ルビーの生態系をより強くすることしかできません。私も見てきましたが、競争は存在しますが、それは友好的です。各プロジェクトは、お互いにアイデアを出し合っています。JRubyチームとRubiniusチームがRuby仕様を作成する際に行った作業は、すべての実装の互換性を維持するのに役立つため、おそらくこれまでで最も重要な結果です。
まだ誰もMacRubyについて言及していませんか? 今は少し Mac 固有のものになっていると思いますが、GNU またはÉtoiléのObjective-C ランタイムにもコンパイルできるようになる可能性があります。
また、リニアモーターカーを待っています:)
エンタープライズ Ruby はどうですか? これはしばらくの間そこにありました。