RubyConf 2010:Rubyの現在と未来(II)

Rubyの著者レポートの第3部である松本幸宏の翻訳を読んでください。RubyConf2010は、彼の日本語ブログで公開されています。またはロボット。



翻訳にはプレゼンテーション資料が補足されます。



初日、デイブ・トーマスは彼の講演で3つの重要なことを述べました、そしてもちろん、それらの間には多様性がありました。 多様性は重要です。



Rubyといえば、これまでにさまざまな実装が登場しています。



これらの言語の完全な実装に加えて、「Rubyライクな」言語の部分的な実装もあり、実際にどれだけの数になるのかを推測することさえ困難です。









Pythonプログラマーは、「CPython、Jython、IronPythonを見てください。 Ruby(およびPerl)にこのようなものはありますか? これらの言語は、代替の実装を表示するには複雑すぎます。」 現在、さらに多くのRuby実装があります。 (ただし、PyPyなどの新しいPythonインタープリターも開発しているのは良いことです。)



一方、多様性には犠牲が必要です。 多くの異なるプラットフォームをサポートするには、特にJRuby、CRuby、MacRuby、Rubiniusなどの互換性レベルにまだ達していない新しい実装の場合、多くの労力が必要です。



私はあなたが多様性のために支払わなければならない価格を知っています、そしてそれは価値があります。



実際、私は新しい通訳を書くことによってそれをさらに増やしたいので、私は多様性をとても称賛します。



RiteVMと呼ばれ、組み込みデバイス用に設計されています。









RubyはもともとUnix用に開発されましたが、組み込みシステムでは、UnixおよびPOSIXインターフェースが不必要なものとして欠落していることがよくあります。



組み込みシステムのパフォーマンスは最近大幅に向上しているため、リアルタイム実行を無視して、より高いレベルの言語を使用することができます。



そのため、新しいインタープリターを開発しています。



さらに、九州工業大学の田中教授は、メソッドを見つけてゴミを収集しやすくするためのいくつかの命令を追加するFPGAベースのMIPSライクなプロセッサである「Rubyチップ」を開発しています。









Riteは、経済省[日本]が実施した2010年地域イノベーション研究開発プロジェクトの一部である、開発時のプロジェクトのコード名です。



結果は、次のように適用できるRubyのサブセットの実装です。



もちろん、これらすべてが今すぐに現れるとは思いませんが、数年後、私たちのビジネスが成功すれば、これはかなり可能です。



はい、ほとんど忘れていました。



よくある質問



Riteの準備はいつですか?

知りません 私が述べたように、これは日本政府によって資金提供された2年間(2010-2011)のプロジェクトです。



RiteVMのソースコードは公開されますか?

はい おそらくMITライセンスの下で。 ただし、政府との契約の下では、ビジネスモデルが必要です。 おそらくGPLに加えてサブスクリプションを選択します(MySQLの配布時)。



RiteVM CRubyは置き換えられますか?

まったくありません。 Riteには、CRubyなどの完全な実装機能のごく一部しかありません。



C APIはどのようになりますか?

RiteVM APIはCRubyとは大きく異なります。 CRubyインターフェースは非常に使いやすいですが、[組み込み環境で]実装するのはより困難です。 理論的には、互換性レイヤーの開発は可能ですが、これを行う予定はありません。



RiteVMは複数の言語[多言語化]をサポートしますか?

いいえ、コンパイル時にACSIIまたはUTF-8のみを選択できます。 エンコーディング変換用の標準ライブラリもありません。



ネイティブシステムスレッドはサポートされますか?

いいえ、RiteVMのみではストリームをサポートしません。 OSスレッドを使用する場合は、それぞれでインタープリターを実行できます。 ファイバーは仮想マシンに実装できますが、これまでのところこれを計画していません。



RiteVMはYARV / JRuby / Rubiniusよりも高速ですか?

ほとんどない。 改善は、即値によって実装されるため、主に浮動小数点演算に影響します。



RiteVMの開発に貢献するにはどうすればよいですか?

ソースコードが開くまでお待ちください。 githubに投稿します。



儀式? おなじみですね。

2003年、RiteはRubyConfでの私の講演でRuby 2.0を実装するためのコード名として提案されました。 最終的には、YARV仮想マシンが使用されましたが、古い名前を使用しています。 「Ruby」と「lite」から形成されます。



CRubyはMatzです。 CRubyでの作業を停止する予定ですか?

一方で、私はもはやCRubyの開発に大きな貢献をしませんが、それを止めるつもりはありません。 CRubyは引き続きRubyの主要な実装であり、私は言語アーキテクトおよびコミュニティリーダーとして働き続けます。



レポートの第2部の翻訳もHabréで公開されています。



All Articles