日本発のオブジェクト指向言語「Ruby」。近年、Webアプリケーションを開発する言語として広く利用されています。 これまでのRuby は「アプリケーションはRubyで開発する。不足する機能はCなどで拡張ライブラリを開発して、Rubyに追加する」というアーキテクチャーを仮定しています。しかし、それでは組込ソフトウエアによくある「アプリケーションはC/C++で開発する。柔軟性・生産性が必要な部分だけをRubyに任せたい」というアーキテクチャーとは相いれません。アプリケーションにおける言語の主従関係が逆転しているのです。 Rubyには、JVM(Java仮想マシン)で動作する「JRuby」やC++でコアが開発されている「Rubinius」など複数の実装がありますが、いずれもこの点を考慮して設計されていません。Rubyという優れた言語があっても、処理系が対応していないのでは、新しい分野に進出できません。「組込ソフトウエアの広大な世界をみすみす見過ごすのはあまりにもったいない」。そういう思いで開発を始めたのがmrubyです。