IoTのスゝメ 今、Rubyがアツい!!

IoTのスゝメ 今、Rubyがアツい!!

1.Rubyとは?

Rubyとは何か?
を見ていただくのなら、 3分でわかるRuby/Ruby on Rails こちらの記事を見て下さい。 Ruby、そしてRuby on Railsに関して、詳しく説明しています。

Ruby(ルビー)は、まつもとゆきひろ(通称 Matz)により開発されたオブジェクト指向スクリプト言語であり、スクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。
Ruby - ウィキペディア

2.なぜRubyが良いのか?

1-1.シンプルさ

  • シンプルな文法
    シンプルという点でRubyとよく比較されるプログラミング言語がPython(パイソン)です。Rubyは可読性を重視して「楽しくプログラミング」というモットーがあるので文法に関する制限がないのですが、Pythonは文法に関する制限があります。ただしRubyは、書き手の技量に任される面があり、Pythonは文法を知らなければ書けないのが難点でもあります。
    どちらが優れていて、どちらが劣っている。というものではありません。

  • オブジェクト指向
    Java などと同様のオブジェクト指向言語です。

  • オープンソース
    Rubyの実行環境は、無料で誰でもダウンロードすることができます。(オープンソース全てが無料ではありません)

  • マルチプラットフォーム
    Rubyの実行環境がインストールされていれば、UNIXやDOS、Windows、MacOSなどでも動作させることができます。

1-2.プログラマに合わせてくれるのがRuby

Rubyの最も大きな強みは、先にも説明した“シンプルさ”でしょう。公式サイトでも

「本格的なオブジェクト指向言語であるSmalltalk、EiffelやC++などでは大げさに思われるような領域でのオブジェクト指向プログラミングを支援することを目的としています」 とうたわれています。

そのシンプルさの秘密はRubyにおける「名前」にあるといわれています。

Rubyではメソッド名(オブジェクト指向プログラミングにおいて、各オブジェクトが持っている自身に対する操作のこと)などの名前に覚えやすいものがつけられています。

そのため、自分のやりたいことを直感的に表現することができるので、言語の機能を調べる時間を少なくすることができるのです。

これは開発者のまつもと氏の意向もあります。

先に「Rubyでは書き手の技量に任される面がある」と述べましたが、Rubyは「シンプル」であるからこそ、その背景にある意図や構造を浮き上がらせることができます。

Rubyで開発を行っていたプログラマの中には「Rubyは、プログラマが言語に合わせるのではなく、Rubyがプログラマに合わせてくれる」とその柔軟性を表現する人もいます。
自分の成長とともに成長する言語、Ruby。

これも「楽しくプログラミング」ができる人気の理由のひとつと言えるでしょう。

1-3.市場規模は?

そもそも日本と海外では、海外の方がRubyやRuby on Rails市場が大きく、盛り上がっています。

日本国内のRubyプログラマの求人数4千件になります(IndeedJapan2014年5月)。

対してアメリカでは、Rubyプログラマの総求人数が1万6千件を超えていて(Indeed2014年12月)、これは日本の4倍にもなるのです。

さらに、日本のRuby、Ruby on Railsプログラマの平均年収は調査データによってまちまちですが、360万円~600万円とのデータが出ています。

対してRuby、Ruby on Railsのアメリカのプログラマ平均年収が1300万円となり全プログラマ最高年収となりました。

一方で求人が多いということは案件が多いことを指し、それに比例して市場が大きいことを指しています。

しかも、一番高い平均年収ということは、それだけ単価の高いビジネスができているということです。

以上のことから、日本よりもアメリカの方がRuby、Ruby on Rails市場は盛り上がっていることが言えます。

ビジネスの世界で、アメリカが日本の2~3年先を行っていることは周知の事実です。

このことから考えるのなら、日本でも2~3年後にはRuby、Ruby on Rails市場が一気に加速すると言うことでしょう。

これを現すデータとして、2013年1月時点でRuby求人件数が2,895件だったのに対して、2014年5月には4,136件となり、1年半で143%増を記録しています(IndeedJapan2014年5月)。

前述通り求人数が大きいことは市場が大きくなってきていることを指しています。

また、プログラマの平均年収は先ほど示した数字の通りですが、IndeedJapan2014年5月の集計値を見ると全体の18.9%が年収700万円以上の求人となっています。

これはアメリカから見ればかなり見劣りするものの、日本ではかなり高額な部類であり、Ruby、Ruby on Railsは日本でもアメリカでも単価の高いビジネスが実現できていることの証明になると言えるでしょう。

3.IoTに適したRuby

3-1.ウェブサービスに適している。

Ruby on Railsはその名の通り「Ruby製のWebアプリケーションフレームワーク」であり、PHPは「動的なWebサイトの開発に特化したプログラミング言語」です。

RubyはWebアプリケーションに特化した機能はありませんが、様々な言語とつながることが出来、Railsを利用することで強力なWebアプリケーションを開発することができます。

対して、PHPは元もとWebサイトに特化しているため、フレームワークなどを使わずとも簡単に動的なサイトを作ることができ、「初心者」が動的なWebサイトの開発をするのにも適した言語です。

こちらもどちらが優れているという訳ではなく、適材適所であるわけですが、今後の展開を考えれば、Rubyの可能性が大きくなってくると言えるのではないでしょうか?

3-2.mruby(組み込みRuby)

mrubyはMatz(Rubyの開発者、 まつもとゆきひろ 氏のこと)が2012年に発表した省メモリ版のRuby実装です。

mrubyは単体で使われることはあまりなく、ほとんどの場合何かのアプリやボード(デバイス)に組み込んで使われることになります。

省メモリということは、IoTに使われるデバイス(小メモリの通信ユニット)に組み込みやすくなります。

mrubyは省メモリ以外にも、各種アプリケーションへの組み込みがしやすくなっています。

たとえば、エディタのマクロ言語としてmrubyを組み込んだり、DB(データベース)のトランザクション言語としてmrubyを組み込む方法があります。

こうすることで、DB側でのデータの正規化や、トランザクション処理をする必要が無くなり、サービス全体の速度を上げることが可能になります。

また、メーカー側も欲しいデータをすぐに取り出して利用することが出来る訳です。

また、多くのソフトでは”設定ファイル”を持っていますが、その代わりにmrubyを使うこともできます。

mrubyで設定ファイルを実装すれば、DSLを使って一般的な設定ファイルのフォーマットのようにもみえるが実はプログラムも可能、というより柔軟性の高い設定ファイルをアプリに組み込むことができるのです。

このように、個々のソフトやプログラム言語の対応ではカバーしきれない可能性がある、IoTのビッグデータ対策もRubyならその特長を活かしながら対応することが可能なのです。

何より先に挙げたように、省メモリを実現させていると言うことは、IoTに欠かせないデバイスへの組み込みがし易くなるという点は、他のプログラム言語を引き離す大きな要因になるでしょう。

3-3.習得しやすい。

習得の難易度から言えば、

  1. HTML+CSS

  2. JavaScript

  3. PHP

  4. Ruby

の順になると思います。
他にも様々なプログラム言語はありますが、先に挙げた『シンプル』で『分かり易い』という点が大きいでしょう。

それにRubyのコンセプトでもある『書いていて楽しい』という点も、習得時間を短縮し難易度を下げている要因の1つだと言えます。

他の言語をやっている人たちからすれば、そんな事はないと言われそうですが、CとかJavaはこの100倍難しい気がします。

短期間で習得でき、しかもサービスも展開し易いと言われるRuby。
今後の展開と可能性を考えると、Rubyを今から学ぶことの意味がもっと大きくなってきそうです。

LEAVE A REPLY

*
* (公開されません)

CAPTCHA


*

COMMENT ON FACEBOOK