Ruby 1.9の本当にクールな機能 質問する

Ruby 1.9の本当にクールな機能 質問する

Ruby 1.9.2 のリリースが近づいており、開発者が Ruby 1.9 に期待を寄せる時期が来ています。Ruby 1.8 ではできないが、Ruby 1.9 ではできるすばらしいことは何でしょうか?

ベストアンサー1

これがまだ言及されていないとは信じられません。Ruby 1.9.2+ の最大の特徴は、17 年ぶりに Ruby に仕様が確立されることです。

Ruby 1.9.2(2010年春にリリース予定)のリリーススケジュールについて聞いたことがあるかもしれません。キャンセルされましたその理由は、まずRuby 1.9.2の完全な仕様がRubySpecプロジェクトで開発され、次にRuby 1.9.2(プログラミング言語)がリリースされ、その後にYARV 1.9.2がリリースされるからです。RubySpec テストスイートに合格します。

これは、以前のやり方とはまったく逆です。まず MRI がリリースされ、次に他のすべての実装者が MRI の C ソース コード (あまりよく設計されておらず、一般的にドキュメントも不十分) を読んで、その新機能が一体何をするのかを理解しようとし、次に実行可能な仕様を書こうとしました。そして、そのとき初めて、実際の互換性が実現する可能性がわずかながらありました。しかし、その頃には、一般的に、YARV の新しいバージョンがすでにリリースされており、サイクルが新たに始まりました... MRI と YARV のメンテナーは RubySpecs を実行していませんでした。

これは持っています巨大な影響は大きい。例えば、現在12種類以上のRuby実装が活発に開発されており、Rubyプログラミング言語の登場以来30種類以上の実装が存在してきたにもかかわらず、この事実はないRuby プログラミング言語の保守担当者によって認識されています。彼らにとって、Ruby と MRI (または最近では Ruby と YARV) は常に 1 つの同じものでした。MRI は言語と実行エンジンの両方であり、Ruby は実行エンジンと言語の両方でした。Ruby プログラミング言語の「仕様」は、MRI の C ソース コードでした。

5 週間前、状況は変わりました。現在、Ruby プログラミング言語の公式仕様 (少なくともバージョン 1.9.2 以降) は、RubySpec プロジェクトの実行可能なテストスイートです。YARV は、MacRuby、IronRuby、JRuby、Cardinal、tinyrb、SmallRuby、BlueRuby、MagLev などと完全に同等の、単なる別の Ruby 実装です。

これは、いわゆる「代替」実装(YARV は特別な地位を失ったため、現時点では「代替」とは呼ばれるべきではない)が、YARV で実装された最新の言語機能に実際に追いつくチャンスがあることを意味します。実際、他の実装のほとんどは、YARV(基本的には巨大な C のスパゲッティの混乱)よりもはるかに優れた設計と言語で実装されており、さらに人材も豊富であるため、他の実装が実際に Ruby 1.9.2 に準拠することは十分にあり得ます。前にヤーヴ。

おすすめ記事