アップデートの内容を分かりやすく整理
レガシーシステム延命の切り札となるか? 「Ruby 4.0.0」が公開
プログラミング言語「Ruby」の新しいメジャーバージョン「Ruby 4.0.0」が公開された。今回のアップデートでは、レガシーシステムの課題解決に寄与する可能性を秘めた実験的機能が盛り込まれている。
さまざまな企業でWebサービスの基盤として利用されているプログラミング言語「Ruby」。しかし、長年運用されたシステムほど、「モンキーパッチ」(注)の影響が積み重なり、保守が難しくなる“スパゲティ化”につながるケースもある。
※注:クラス(プログラム部品の設計図)やメソッド(処理)を、システムの実行時に動的に追加、上書き、変更するプログラミング手法。
2025年12月に公開された「Ruby 4.0.0」(以下、Ruby 4.0)は、こうした課題への将来的な解決策になり得る新機能を備えたメジャーアップデートだ。どのような変化があったのか紹介する。
アップデートの内容は
Ruby 4.0では、「Ruby Box」や、「JIT(Just-in-Time)コンパイラ」である「ZJIT」の導入など、複数の改善が盛り込まれている。主な改善点は以下の通りだ。
Ruby Box
Ruby Boxは、クラスなどの定義を分離、隔離するための機能だ。開発者コミュニティーが“実験的機能”と称する通り、同機能は今後仕様が変更される可能性がある。同機能は、環境変数(OSが保持するプログラムの設定情報)として「RUBY_BOX=1」を指定することで有効化できる。クラス名は「Ruby::Box」だ。
Ruby Boxの中で読み込まれた定義は、そのRuby Box内に閉じた状態となる。これによって、既存クラスへのモンキーパッチ、クラス変数やグローバル変数(プログラム全体で共有される変数)の操作、クラス定義などを、通常の実行環境から隔離できるようになる。
Ruby Boxの主なユースケースは、以下が想定されている。
- モンキーパッチを必要とするテストケースを、Ruby Box内で実行する。
- 1つのアプリケーションプロセス(実行中のプログラム単位)内で、「Blue-Greenデプロイメント」を実現する。
- Blue-Greenデプロイメントは、ソフトウェアのリリース時に旧バージョン(Blue環境)と新バージョン(Green環境)の両方を稼働させ、トラフィックを新しいGreen環境に切り替える方式。
- 通常はサーバ単位で新旧バージョンを並行稼働させる必要があるが、Ruby Boxを用いることでプロセス内部で完結させられるようになる。
- WebアプリケーションをRuby Box内で実行し、新旧ソースコードを一定期間並列で動かしてレスポンスを比較することで、アップデートに伴う依存関係を安全に更新、検証する。
- 将来的により高度なパッケージ管理システムを設計する際、その裏側で動く「読み込んだライブラリ(プログラム部品群)や設定を厳密に隔離する基礎技術」として、Ruby Boxが活用されることが想定されている。
メソッドベースのJITコンパイラ「ZJIT」
JITコンパイラは、アプリケーションの実行時にソースコードをネイティブコードに変換することで、実行速度を高める仕組みだ。ZJITは、RubyのJITコンパイラの一つ「YJIT」の次世代版として開発された、実験的JITコンパイラだ。実行時のオプションで「--zjit」を指定するか、プログラム内で「RubyVM::ZJIT.enable」というメソッドを呼び出すことで有効化できる。ZJITを有効にしてRubyの実行環境をビルドするには、プログラミング言語「Rust」のバージョン1.85.0以降が必要だ。
Ruby 4.0時点のZJITは、通常の実行方法よりは処理が速くなる。ただし、YJITと同程度の性能を発揮することはできない。Rubyの開発者コミュニティーは、「ZJITは試験段階のため、学習や検証目的で使うのは問題ない。業務システムなどの本番環境での利用は推奨しない」と述べている。
Ractor
Rubyの並列処理機構「Ractor」にも改善が盛り込まれた。Rubyは、基本的に一度に1つの処理しか実行できない。Ractorを使えば、複数の処理を同時に実行(並列処理)できるようになる。同コミュニティーによると、Ractor間で通信するための同期機構として、「Ractor::Port」クラスが追加された。さらに、処理のかたまりを意味する「Proc」をRactor間で共有しやすくした。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
新着ホワイトペーパー PR
-
製品資料
[株式会社キーエンス] なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは -
製品資料
[株式会社セールスフォース・ジャパン] 「CRMは設計と無関係」は本当か? PLMとの融合で実現する高速開発 -
事例
[日本ヒューレット・パッカード合同会社] AIエージェントの時代にどう備える? 「新たな働き手」を支える3要素とは -
製品資料
[日本ヒューレット・パッカード合同会社] “横並びの自動化”から脱却、AI活用で生産性と競争力を高める秘訣 -
製品資料
[サイボウズ株式会社] AIが「わざわざ使うツール」になっていない? 業務で自然に使う導線にする秘訣
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
なぜ「全社配布Copilot」は使われないのか? 失敗に学ぶAI定着
-
2
法務と開発者で「言葉が通じない」問題 トヨタやソニーが語るOSS管理の真実
-
3
【漫画付き】ひとり情シス協会が明かす、RAG導入でしくじる企業「2つの共通点」
-
4
情シスの約8割が転職や退職を意識 調査で分かった“辞めたくなる最大の理由”
-
5
損保ジャパンはなぜ「COBOL」を捨てなかったのか? 脱メインフレームの真相
-
6
ChatGPTは“検索しまくり”でGeminiは“淡泊”? データが明かすAIの裏側
-
7
情報漏えいはなぜ繰り返されるのか 今すぐ見直すべき「境界」
-
8
BMWも導入 78兆円市場に化ける「フィジカルAI」の衝撃
-
9
「Wi-Fi 7」経由でWindowsが乗っ取られる? 最高権限奪取の恐怖
-
10
「AI活用を前提とした業務PCへの移行」に関するアンケート
ホワイトペーパーランキング PR
-
1
不審メールの経路や見せ方に変化? 2026年夏の3事例から見えた動向と対処方法
-
2
家庭用Wi-Fiルーターの業務利用は危険? 避けるべき理由と具体的な対策
-
3
Microsoft 365を安全に運用 うっかりミスやサイバー攻撃に備えるデータ保護術
-
4
財務部門がAIを最大限に活用する方法 無駄のない戦略的リーダーシップへの道
-
5
LLMが兵器化? 元FBI高官が鳴らす警鐘とセキュリティツール統合のポイント
-
6
「オンプレミス回帰」せざるを得ない“合理的な理由”
-
7
なぜRPA導入は頓挫する? シナリオ作成の壁を乗り越える解決策とは
-
8
生成AIを開発に導入しても効果が見えない? 実証実験で分かった成果と課題
-
9
経産省DX指針から読み解く、受発注業務デジタル化ロードマップ
-
10
HDDを使わない「SSDオンリー」が無謀なのはなぜ?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー