ガベージコレクション
Rubyはガベージコレクションを搭載しているので、メモリの確保や開放といったメモリ管理を自動化しています。これはJavaやC#でも同様ですからお馴染みでしょう。
正規表現
Perl譲りの正規表現と充実した文字列を処理するクラスライブラリがRubyには含まれています。文字列を操作することが多いWebアプリケーションの開発でも便利に使えます。
オープンクラス
Rubyは、Ruby自身が提供する標準ライブラリでもサードパーティのライブラリであっても、分け隔てなくプログラマが拡張したり書き換えたりすることが可能です。これを「オープンクラス」と呼び、JavaやC#にはない特徴の1つとなっています。
Ruby on Railsでもこのオープンクラスを活用して、Ruby自身をWebアプリケーションが開発しやすい言語に拡張しています。
リフレクション
リフレクションとはプログラム自身でプログラムの構造を解釈したり書き換えたりする機能のことです。リフレクションを使うことで、実行時の状況に合わせてプログラムを柔軟に変化させることが可能となります。JavaやC#でもリフレクションをサポートしていますがややエキスパート向けの機能になっており、利用するためには高度なスキルが要求されます。対してRubyのリフレクションは標準的な基本機能の中に取り入れられているので、使いやすく、また強力な機能になっています。
Mix-in
Rubyではモジュールという仕組みを利用して、継承せずにモジュールの特徴をクラスに追加することができる「Mix-in」があります。モジュールを活用することで多重継承が必要な場面でも簡潔にプログラムできます。これに対しJavaでは多重継承がサポートされておらず、たくさんのクラスの特徴を合わせ持ったプログラムをするには委譲を繰り返すなど冗長なプログラミングが必要となります。
特徴まとめ
ここまで8つのRubyの特徴を紹介しましたが、どれもが手軽にプログラミングするための特徴になっています。こういった特徴がシンプルさを損なわずに組み合わされているバランス感覚が、Rubyの最大の特徴といえるかもしれません。
Rubyの提供する「楽しさ」とは
Rubyは使って楽しい言語だとよくいわれます。では、「プログラミング言語が楽しい」とはどういうことでしょうか。そこで筆者が考えるRubyの「楽しさ」を3つ上げてみました。
すぐに動かせる、試してみられる
誰しも工作に熱中したことがあるのではないでしょうか。何かを作り上げることは楽しいものです。つまり何かを作り上げることができるプログラミングは、本来、楽しいものであるはずです。
Rubyはプログラミングするための事前の準備が不要で、プログラミング自体も実行したい処理に集中できます。モノ作りそのものの魅力をすぐに実感できるのがRubyの楽しさの源泉ではないでしょうか。
Rubyらしさ
RubyはLispや関数型言語で良いとされるプログラミングスタイルを自然に取り込んでいます。良いプログラミングスタイルは、付属のライブラリやオープンソースのライブラリを読んだりすることで、習熟することができます。「Rubyらしい」プログラミングが身についてくると、問題解決のための手法に広がりが出たり、自身でも成長を実感することができます。プログラム初学者からベテランまで幅広いスタイルでの記述が可能で、自身の理解が見えるのがRubyの楽しさの1つです。
Rubyコミュニティの層の厚さ
各種メーリングリストや日本Rubyの会に代表されるユーザ会の草の根活動も活発で、毎月のようにどこかで開催される勉強会もあります。
Rubyの長いオープンソース活動によって培われたオープンなコミュニティは、誰でも参加することができます。同好の士に会うのは楽しいものですし刺激にもなります。皆さんも、ぜひ一度足を運んでみてはいかがでしょうか。
次のページ