留意事項

この記事はわいたなか(https://twitter.com/ytnk531)が、RubyKaigi 2022の予習のために調べた内容をまとめたものです。誤った内容や古い内容が多く含まれる可能性があることをご留意ください。誤りなどについてご指摘を頂ける場合は、TwitterのDMかリプライでお願いします。

RubyKaigiの準備

RubyKaigiの話題の分類

  1. Rubyの未来の話(今後の展望、新文法、新機能)
  2. Rubyの機能の詳しい話(実装の詳細、設計、最適化など)(JIT、YARV…)
  3. Rubyでこんなこともできる(ようにした)よ、の話(機械学習、WebAssembly…)

3は特に予備知識が無くても発表者が説明してくれることが多いので、1, 2を聞くための前提となる話をします。Rubyをどう使うか、の話ではなく、Rubyをどう作るか、の話です。

Rubyの基礎

Rubyの処理系

MRI(CRuby), JRuby, TruffleRubyなど。

特にことわりが無い場合はMRIのことを指す。MRIはMatz’ Ruby ImplementationまたはMatz Ruby Interpreterの略。C言語で書かれているのでCRuby。(今後rustも混ざってくるけどいいのかな…)

TruffleRuby

TruffleRubyはベンチマークによってはかなり速い。HotSpot VMによる最適化と、CRubyにはない独自の最適化が効いているとされている。ただしGraalVMで実装しなおしているので使えるRubyのバージョンが最新ではない。また、今のところ互換性が100%ではない。