OSSユーザーのための勉強会 <OSS X Users Meeting>の第4回mbuby
のときに聞いてきた話のメモメモ(いくつかにわけて、送る予定)のつづき
Ruby
・オブジェクト指向プログラミング言語
・高い生産性と可読性
・国際標準規格ISO/IEC30170:2012
・今年で20周年 Ruby2.0登場
・Ruby On Railsの登場で大ブレイク
・Web界のトップ3
Java、PHP、Ruby
Rubyを組み込み開発業界にも
・組み込み業界の課題
高機能、高付加価値の要求
製品サイクルの短期化
低コスト化
・C/C++ベースの開発の限界
・地域イノベーション創出研究開発事業
軽量Rubyを用いた組み込みプラットフォームの研究・開発
Rubyのよさをそのままに軽量化
2012年4月にmruby公開
https://github.com/mruby/mruby
mrubyの特徴・仕様
・軽量なruby
・mrubyのm
eMbedded→erubyは存在
Moduler
Minimalistic
matusmoto
・提供されるもの
ソースコード
ビルド make
C,Ruby,bison→標準Linuxならいけるかな?
モジュール
mrbc,mruby,mirb,libmruby.a
・コンパクトな処理系
仮想マシンmrubyVM
コンパイラ言語
中間表現(バイトコード)を実行
容易にカスタマイズ可能→ライブラリも
環境非依存→Cがコンパイルできれば
・拡張性
mruby版GEM 「mrbgems」
Rubyによる拡張
C言語による拡張
C/C++既存資産の有効利用
CRubyのGEMとは互換性なし
・組み込み可能
システムに組み込む
さまざまなOS(OSなしも)で動作可能
アプリケーションに組み込む
ソフトウェアの一部としてのRuby
・ソフトウェアリアルタイム
インクリメンタルGC
GCによる停止時間の短縮
C言語よりも遅い
10倍以上
ハードリアルタイムには不向き
人間が気づかない程度には速い
・その他
ISO規格のRubyに準じる言語仕様
環境依存しないライブラリ群
環境依存部はmrbgemsで拡張
MITライセンス
・適用例
iosアプリケーション
Webサーバー拡張
ルーター
自販機
mruby学習キット
・課題
ライブラリが少ない
ドキュメントが少ない
安定バージョンが不明
まとめ
・mruby
OSSとして日々進化中
いろいろなところに組み込める素材
のときに聞いてきた話のメモメモ(いくつかにわけて、送る予定)のつづき
Ruby
・オブジェクト指向プログラミング言語
・高い生産性と可読性
・国際標準規格ISO/IEC30170:2012
・今年で20周年 Ruby2.0登場
・Ruby On Railsの登場で大ブレイク
・Web界のトップ3
Java、PHP、Ruby
Rubyを組み込み開発業界にも
・組み込み業界の課題
高機能、高付加価値の要求
製品サイクルの短期化
低コスト化
・C/C++ベースの開発の限界
・地域イノベーション創出研究開発事業
軽量Rubyを用いた組み込みプラットフォームの研究・開発
Rubyのよさをそのままに軽量化
2012年4月にmruby公開
https://github.com/mruby/mruby
mrubyの特徴・仕様
・軽量なruby
・mrubyのm
eMbedded→erubyは存在
Moduler
Minimalistic
matusmoto
・提供されるもの
ソースコード
ビルド make
C,Ruby,bison→標準Linuxならいけるかな?
モジュール
mrbc,mruby,mirb,libmruby.a
・コンパクトな処理系
仮想マシンmrubyVM
コンパイラ言語
中間表現(バイトコード)を実行
容易にカスタマイズ可能→ライブラリも
環境非依存→Cがコンパイルできれば
・拡張性
mruby版GEM 「mrbgems」
Rubyによる拡張
C言語による拡張
C/C++既存資産の有効利用
CRubyのGEMとは互換性なし
・組み込み可能
システムに組み込む
さまざまなOS(OSなしも)で動作可能
アプリケーションに組み込む
ソフトウェアの一部としてのRuby
・ソフトウェアリアルタイム
インクリメンタルGC
GCによる停止時間の短縮
C言語よりも遅い
10倍以上
ハードリアルタイムには不向き
人間が気づかない程度には速い
・その他
ISO規格のRubyに準じる言語仕様
環境依存しないライブラリ群
環境依存部はmrbgemsで拡張
MITライセンス
・適用例
iosアプリケーション
Webサーバー拡張
ルーター
自販機
mruby学習キット
・課題
ライブラリが少ない
ドキュメントが少ない
安定バージョンが不明
まとめ
・mruby
OSSとして日々進化中
いろいろなところに組み込める素材