mruby

「大きな言語(Ruby)を、製品に組み込めるよう小さく作り直す」という発想の実装。フル機能よりフットプリントと埋め込み性を優先し、Ruby の書き味を C 製プロダクトやリソース制約環境に持ち込む。実装・ソース・確認 commit は github-com-mruby-mruby、ここは位置づけと設計思想を扱う。

Ruby 実装の地図

「Ruby」は1つの実装ではない。ホスト環境と狙いで分かれる。

実装ホスト/VM性格向く先
CRuby / MRI(参照実装)C / YARV(スタックVM)完全・標準。エコシステム本流一般のアプリ・Rails
JRubyJVM真の並列(GIL なし)・Java 連携JVM 資産と統合
TruffleRubyGraalVMJIT で高速実行速度重視
mrubyC / RiteVM(レジスタVM)最小・組込み第一IoT・ゲーム・サーバ拡張・設定 DSL

mruby は「速さ」でも「フル機能」でもなく、埋め込みやすさ・小ささの軸を取りに行った実装。

設計思想: 言語を「部品」として設計する

mruby の核心は、言語処理系をライブラリとして製品に積むこと。だから:

汎用性より制御可能性(サイズ・依存・埋め込み境界を握れること)を優先している。

一般化: 軽量・組込み実装の系譜

関連

Graph