Rubyの概要
Ruby(ルビー)とは、まつもとゆきひろ氏が開発した国産のオブジェクト指向スクリプト言語です。
従来Perlなどのスクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現します。
Ruby(ルビー)は、シンプルな文法でありながら高機能なプログラムを簡潔に記述できる、コンパイルといった面倒な手続きなしに手軽かつ簡単に使え、読みやすいスクリプト言語である等の数多くの特長があります。
2004年にRubyで書かれたWebアプリケーションフレームワークである「Ruby on Rails (RoR)」 がブレイクしたことにより、Ruby(ルビー)は日本国内にとどまらず全世界に普及し、非常に多くの開発者に利用されています。
島根県や、福岡県などは、Ruby(ルビー)を核とした地域ソフトウェア産業振興施策に取り組んでいます。
また、国(IPA 独立行政法人情報処理推進機構)が進めるプロジェクトにおいて、Ruby(ルビー) の技術規格書が、2011年3月22日にJIS X 3017として制定 されました。
さらに、2012年4月には、RubyがISO/IEC(国際標準化機構/国際電気標準会議)の標準規格、ISO/IEC 30170として承認されたと発表されました。日本発プログラミング言語が国際規格となるのはRubyが初めてとなります。
Ruby(ルビー)の標準化により、Ruby(ルビー)を用いたアプリケーションの開発・提供が安定し、生産性の高いプログラム開発、システム開発が可能となり、より一層の利用促進が期待されます。
Ruby(ルビー)の現在の最新バージョン(GA)は、Ruby 2.0.0-p648、2.1.10、2.2.10、2.3.8、2.4.10、2.5.8、2.6.6 、2.7.1です。(2020年5月現在)
Rubyのライセンス
Rubyのライセンスは、「Rubyライセンス」と「GPLv2」とのデュアルライセンスから、バージョン1.9.3より「Rubyライセンス」と「BSDライセンス」とのデュアルライセンスになりました。
Rubyは個人・企業を問わず、ライセンス費用はかからず無償で利用でき、無保証であることの明記と著作権およびライセンス条文の表示を条件に、オブジェクトコードの自由な改変・頒布が認められています。
Rubyの動作環境
前提となる動作環境は、以下のとおりです。(バージョン 1.9.2の場合)
- Debian GNU/Linux 5.0 on IA32
- mswin32, x64-mswin64, mingw32
- MacOS X 10.5 (Intel) および 10.6
- FreeBSD 6以降 (amd64, IA32)
- Solaris 10
- Symbian OS
- その他のLinuxディストリビューション
- MacOS Xのその他のバージョン
- cygwin
- AIX 5
- その他のPOSIX互換システム
- BeOS (Haiku)
※バージョンによって異なりますので、詳細はお問い合わせください。
Rubyの主な機能
主な機能は以下のとおりです。
- 演算子オーバーロード
- 例外処理機能
- イテレータとクロージャ
- ガーベージコレクタ(SynbolGC、インククリメンタルGC)
- ダイナミックローディング
- マルチスレッド
- 文字列操作
- 正規表現による検索機能
Rubyの特徴
主な特徴は以下のとおりです。
扱いやすい | シンプルな文法で、分かりやすくコードを書き易いと言われており、テキスト処理の能力にも優れている |
---|---|
オブジェクト指向 | 通常のオブジェクト指向機能(クラス、メソッドコールなど)と、特殊なオブジェクト指向機能(Mixin、特異メソッドなど)を備えている |
豊富な機能 | 演算子オーバーロード、例外処理機能、イテレータとクロージャ、ガーベージコレクタ、ダイナミックローディング、マルチスレッド、強力な文字列操作や正規表現による検索機能等、開発生産性を高めるさまざまな機能が豊富 |
アジャイル開発 | ビジネススピードが要求されるアプリケーション開発において、RubyおよびRuby on Railsを採用したアジャイルプロトタイピングのアプローチが利用されている |
マルチプラットフォーム | 移植性が高く、プラットフォームごとにインタプリタを用意することによって、UNIX上だけでなく、DOSやWindows、Mac、BeOSなどの上でも動作可能 |
豊富な導入実績 | 海外、国内ともに大手Webサイトでの導入事例が多数 |
万全なサポート | サポートベンダーより商用サポートが提供可能で、NRIでは、「オープンソース・ワンストップサービスOpenStandia(オープンスタンディア)」で、Ruby、Ruby on Railsを含む約50種類のオープンソースをワンストップでサポート |