宝石ではなく言語のRubyについてです。
Rubyはまつもとゆきひろさんが「Perlみたいにお手軽で ちゃんとしたオブジェクト指向のスクリプト言語が欲しいな〜」 ということで、作ってしまった言語です。 よってRubyを一言で表現するならば 「オブジェクト指向スクリプト言語(The Object-Oriented Scripting Language)」と いえるのです。
プログラミングにおける考え方及び作成方法の一つです。 あらゆるデータをモノ(オブジェクト)と扱い、 モノ自体に機能が備わっています。
簡単な例を出しましょう。 ある人をオブジェクトとします。 その人に「歩け」と命令すればその人は歩くでしょう。 その人に「空を飛べ」と命令すれば その人はそんなことが出来ないのでエラーになります。 また、その人自身には色々なパラメータがあり、それらを自分で持っています。 つまり、外部から規定されているわけでなく、 自分自身で何が出来るのかを知っているのです。 これは日常的なモノの考え方に非常に似ています。
オブジェクト指向の言語としては他にC++、Java、Smalltalk等があります。 RubyはSmalltalkの影響をかなり受けているそうです。
オブジェクト指向以外のプログラミングスタイルとしては、 手続き型(C、Perl等)、関数型(Lisp、Scheme等)、アスペクト指向があります。
わかりやすく、RubyとPerlで見比べてみましょう。 ある文字列の長さを取り出すとします。
関数型での書き方(Perl)
$str = "abcdef"; length($str); # => 6
オブジェクト指向での書き方(Ruby) *1
$str = "abcdef"; $str.length(); # => 6
Perlではlength()と文字列は別々に定義されているモノです。 言ってしまえば、length()が引数を文字列を取るという一方的な関係です。 Rubyでは$strのクラスであるStringにおいて length()と言うメソッド*2が 定義されています。 つまりRubyにおいては関係は全く逆になるのです。
Rubyの他、PerlやPythonと言ったテキストソースを インタプリタが読み込んでそのまま実行可能な言語です。
利点
欠点
Rubyのコンセプトは「楽しくプログラミング」です。 だから、楽しさ、つまりプログラマに対しては とても楽な言語です。 ですが、楽であるというのはそれが単純な事しかできないと言うことではありません。 複雑な処理もわかりやすく簡単に構築できます。 では、特徴を見ていきましょう。
少しでもRubyに興味をもって頂けたでしょうか? XREA.COMではRubyが使える数少ないwebスペースです。 せっかくXREA.COMにホームページを開くのですから、 ありきたりなPerl等は使わずにRubyを使ってみませんか?
さぁ、始めましょう!
Let's program Ruby scripts!