5年振りのメジャーバージョンアップとなるRuby 4.0正式リリース、クラスの定義などを隔離するRuby Box、新JITコンパイラ「ZJIT」搭載など

2026年1月6日

Ruby開発チームは2025年12月25日、Ruby 4.0の正式リリースを発表しました

Rubyは毎年12月25日に新バージョンをリリースすることが恒例となっており、2024年も予定通りに新バージョンが登場しました。しかも今回は2020年にRuby 3.0が登場して以来5年振りのメジャーバージョンアップとなりました。

fig

Rubyはまつもとゆきひろ氏により1993年に開発が始められたプログラミング言語です。シンプルで生産性の高いプログラムを書くことができることなどを特長とし、Ruby on Rails(Rails)と呼ばれるWebアプリケーションを容易に構築できるフレームワークを備えていることで人気のプログラミング言語です。

Ruby 4.0の新機能

Ruby 4.0ではいくつかの言語使用の変更なども行われましたが、特に大きな新機能となったのは次の2つです。

Ruby Box

Ruby Boxはクラスなどの定義の分離や隔離のための機能を提供する、実験的機能です。

Boxの中で読み込まれた定義はそのBox内に閉じた状態となります。

Ruby Boxが隔離できる定義は、既存クラスへのモンキーパッチ、グローバル変数やクラス変数の操作、クラスやモジュールの定義、そして.rbファイルや拡張ライブラリとして実装されたライブラリ類です。

Ruby Boxの主要なユースケースとしては、次のものが想定されています。

  • テストのために何かの挙動を上書きするようなモンキーパッチを必要とするテストケースをBox内に閉じて実行すること
  • WebアプリケーションをBox内で実行することで、Blue-Greenデプロイメントをプロセス内で、アプリケーションサーバ上で実行すること
  • WebアプリケーションをBox内で実行することで、依存関係の更新時などに、一定期間並列で動かしてRubyコードを用いてレスポンス等を検証すること
  • (未設計の)「パッケージAPI」のような新しい高レベルAPIを作るための低レベルAPIとしての機能を提供すること

Ruby Boxは環境変数として「RUBY_BOX=1」を指定することで有効化できます。クラス名は「Ruby::Box」です。

新JITコンパイラ「ZJIT」搭載

YJITの開発チームが開発した、実験的なメソッドベースの新しいJITコンパイラ「ZJIT」が搭載されました。

YJITコンパイラはRuby 3.1でメインラインにマージされたJITコンパイラで、ECサイト構築サービスを提供するShopifyが大規模なRailsアプリケーションにおいてより高い性能向上を目指して開発しました。

ZJITはそのYJITコンパイラの後継として、さらなる性能向上を目指しています。

ただし現時点ではZJITはYJITほど高速ではないとされており、また本番環境での利用も避けた方が良いとのことです。

ZJITサポート付きでRubyをビルドするにはRust 1.85.0以降で「–zjit 」を指定するとZJITが有効になります。

あわせて読みたい

プログラミング言語 Ruby




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本