|
|
Rubyはクラス定義、ガーベジコレクション、強力な正規表現処理、マルチスレッド、例外処理、イテレータ・クロージャ、Mixin、演算子オーバーロードなどの機能を持つ。Perlの代替となることができることが初期の段階から重視されている。Perlと同様にCプログラムやライブラリを呼び出す拡張モジュールを組み込むことができる。
Rubyは言語の名称であるが、実質的にはその実装はまつもとゆきひろ氏らによるもの1つであり、言語処理系実装の名前でもある。Ruby処理系はインタプリタとして実装されている(実験的にはJIT方式による実行時コンパイルも試みられている)。
プログラムコード表記は、C++には似ておらず、また可読性を重視している。Rubyにおいては整数や文字列なども含めデータ型はすべてがオブジェクトであり、純粋なオブジェクト指向言語といえる。
Rubyはフリーソフトウェアとして(GPLあるいはArtistic)で配布されている。
| Table of contents |
|
2 命名の由来 3 競合言語としてのPython 4 Rubyの周辺技術 5 外部リンク |
Rubyの作者まつもとゆきひろ氏は、Rubyの言語仕様策定においてもっとも重視しているのはストレスなくプログラミングを楽しむこと(Enjoy programming)であると述べている。Perlのモットー「やり方はいろいろある(TMTOWTDI; There's More Then One Way To Do It)」は、Rubyに引き継がれてはいるものの、最重要なものではないとも述べている。また、Rubyの言語仕様は「驚き最小化原則」--プログラマの予測に反するような例外的な振る舞いや、言語仕様上のトリッキーな部分をなるべく排除すること--を目標として設計されている。
Rubyは7月の誕生石であり、6月の誕生石Perl(Pearl; 真珠)の次、を意識している。
プログラミング言語としてのRubyは大雑把に言うと「Perlのオブジェクト指向版」、つまりインタプリタで実行する高機能なスクリプト言語でありオブジェクト指向機能を持つもの、と位置づけることができるが、この位置付けはスクリプト言語Pythonと同じである。このことがそれぞれの言語のユーザ同士の間で「どちらの言語が優れているか」といった論争を生んできた。しかしその論争は技術的な細部にとらわれた不毛なフレームになることも多かった。
ここであえて両者を比較したりいずれかの欠点をあげつらったりすることはしないが、ユーザ数や書かれたシステムの数量・質などを現時点で比べるとPythonの方が世界的には比較的人気が高いと思われる。Rubyは開発者が日本人であることもあり、日本では人気が高く書籍も多く出版されている。Ruby(eRuby)で書かれたバグトラッキングシステム「影舞」などの実用的なアプリケーションも生まれてきつつある。Ruby哲学
命名の由来
競合言語としてのPython