mruby/cは、
オブジェクト指向スクリプト言語である
Rubyを、
組み込みシステム向けにさらに軽量化したプログラミング言語処理系です。オリジナルのmrubyと比較して、プログラム実行時のメモリ消費量が大幅に削減されており、リソースの限られた環境での利用に適しています。
概要
mruby/cは、
Rubyの持つ高い表現力と開発効率を継承しつつ、小さなワンチップマイコンでも動作するように設計されています。このコンパクトな
実装は、国立大学法人
九州工業大学の田中和明准教授と、しまねソフト研究開発センターによって研究開発されました。オープンソースソフトウェアとして公開されており、3条項
BSDライセンスの下で自由に利用できます。この
ライセンス形態は、商業利用を含む幅広い用途での活用を促進しています。
特徴
mruby/cの主な特徴は以下の通りです。
高い開発生産性:
Rubyの持つ高い生産性と表現力をそのまま受け継いでいます。これにより、
C言語など他の言語と比較して、より少ないステップで効率的にプログラムを
実装できます。開発時間の短縮や、より複雑な処理の実現に貢献します。
小さなマイコンで動作: mruby/cは、省電力で動作し、オペレーティングシステム(OS)を必要としないため、高速な起動が可能です。これにより、電池駆動のデバイスなど、リソースが限られた環境でも利用できます。IoTデバイスやウェアラブル端末などへの応用が期待されます。
コンカレントな動作: 複数のプログラムを同時に実行するコンカレント(並行)処理をサポートしています。これにより、複数のプログラマが独立してコーディングを行うことが可能になり、大規模なプロジェクトでも効率的な開発が可能です。また、複数の処理を同時に実行することで、システムの応答性を高めることができます。
mrubyとmruby/cの比較
mruby/cは、mrubyをさらに軽量化したものであり、より
組み込みシステムに特化しています。mrubyが幅広いプラットフォームを対象とするのに対し、mruby/cは特にメモリや処理能力の低い環境での動作を重視しています。そのため、mruby/cは、より小さなフットプリントで動作し、省電力性能が高いという特徴があります。この特性により、mruby/cは、バッテリー駆動の組み込みデバイスや、リアルタイム性の求められるシステムなど、幅広い用途に適応できます。
ターゲットCPU
mruby/cは、以下のCPUアーキテクチャをサポートしています。
Arm (32bit)
RX210 (32bit)
PIC24 (16bit)
ESP32 (32bit)
これらの多様なCPUアーキテクチャに対応することで、さまざまな
組み込みシステムへの適用が可能になっています。mruby/cは、省メモリで動作しながらも、
Rubyの持つ表現力と開発効率を最大限に活用できるため、
組み込みシステム開発における強力なツールとなります。
外部リンク
mruby/c on GitHub