プログラミング言語 Rubyについて調べてみました。
Ruby(ルビー)とは?プログラミング言語
Rubyは数少ない日本人が開発したプログラミング言語です。
Ruby(ルビー)は、まつもとゆきひろ(通称 Matz)により開発されたオブジェクト指向スクリプト言語であり、スクリプト言語が用いられてきた領域でのオブジェクト指向プログラミングを実現する。 また日本で開発されたプログラミング言語としては初めて国際電気標準会議で国際規格に認証された事例となった
Rubyの概要、歴史
Rubyは1995年に公開されました。
Ruby on RailsというWEBアプリケーションフレームワークの普及と共に世界に知られるようになりました。
Ruby は1993年2月24日に生まれ、1995年12月にfj上で発表された。名称の Ruby は、プログラミング言語 Perl が6月の誕生石である Pearl(真珠)と同じ発音をすることから、まつもとの同僚の誕生石(7月)のルビーを取って名付けられた。競合言語として Perl の他に Python があり、「Matz(まつもと) が Python に満足していれば Ruby は生まれなかったであろう」と公式のリファレンスの用語集で言及されている。
機能として、クラス定義、ガベージコレクション、強力な正規表現処理、マルチスレッド、例外処理、イテレータ、クロージャ、Mixin、利用者定義演算子などがある。Perl を代替可能であることが初期の段階から重視されている。Perlと同様にグルー言語としての使い方が可能で、C言語プログラムやライブラリを呼び出す拡張モジュールを組み込むことができる。Ruby 処理系は、主にインタプリタとして実装されている(詳しくは#実装を参照)。
可読性を重視した構文となっている。Ruby においては整数や文字列なども含めデータ型はすべてがオブジェクトであり、純粋なオブジェクト指向言語といえる。
長らく言語仕様が明文化されず、まつもとによる実装が言語仕様に準ずるものとして扱われて来たが、2010年6月現在、JRuby や Rubinius といった互換実装の作者を中心に機械実行可能な形で明文化する RubySpec という試みが行われている。公的規格としては2011年3月22日にJIS規格(JIS X 3017)が制定され、その後2012年4月1日に日本発のプログラム言語では初めてISO/IEC規格(ISO/IEC 30170)として承認された 。
フリーソフトウェアとしてバージョン1.9.2までは Ruby ライセンス(Ruby License や Ruby’sと表記されることもある。GPLかArtisticに似た独自ライセンスを選択するデュアルライセンス。)で配布されていたが、バージョン1.9.3以降は2-clause BSDLで配布されている。
Ruby 特徴
Rubyの特徴は、次の通りです。
- オブジェクト指向である
- インタプリタ方式である
- 汎用性が高い
- 構文の自由度が高い
- 記述量が少なくて済む
また、Rubyの開発者である、まつもと氏によると「楽しさ」に焦点を当てているとのことです。
Ruby には Perl や Python とは決定的に違う点があり、それこそが Ruby の存在価値なのです。それは「楽しさ」です。私の知る限り、Ruby ほど「楽しさ」について焦点を当てている言語は他にありません。Ruby は純粋に楽しみのために設計され、言語を作る人、使う人、学ぶ人すべてが楽しめることを目的としています。しかし、ただ単に楽しいだけではありません。Ruby は実用性も十分です。実用性がなければ楽しめないではありませんか。
— まつもとゆきひろ、Ruby プログラミング入門 まえがき 監修者よりのページ
また、Rubyの公式サイトには以下の通り書かれています。
Rubyとは
なぜRubyはこんなに人気なのでしょうか?Rubyのファンは、Rubyを美しく芸術的な言語だと言います。 なおかつ、便利で実用的だとも言います。 一体どういうことでしょうか?Rubyの作者の理念
Rubyは絶妙にバランスのとれた言語です。 Rubyの作者である、Matzことまつもと ゆきひろ氏は、好みの言語(Perl、Smalltalk、Eiffel、Ada、Lisp)の一部をブレンドし、 関数型プログラミングと命令型プログラミングが絶妙に調和された新しい言語を作りました。Matzはよく、「Rubyをシンプルなものではなく、自然なものにしようとしている」と言います。
付け加えて、こんな風にも言っています。
Rubyの外観はシンプルです。けれど、内側はとても複雑なのです。 それはちょうど私たちの身体と同じようなものです1。
Ruby できること
Rubyで最もよく使われている使われ方は、Ruby on RailsというWEBアプリケーションフレームワークを使ってWEBアプリケーションを作ることです。
Rubyで、できること、作られたサイトは次の通りです。
クックパッド
Airbnb
グノシー
Ruby 初心者のための入門サイト
Rubyを初心者が学ぶための入門サイトはいくつかあります。
以下にまとめました。
Ruby入門
Ruby入門
Ruby入門
Rubyの公式サイト
Rubyの公式サイトは以下の通りです。
オブジェクト指向スクリプト言語Ruby
Rubyのダウンロード、インストール
Rubyのダウンロードは公式サイトからダウンロードします。
インストールは、OSごとに異なりますが、公式サイトのインストール手順に沿ってインストールするのが一番よいでしょう。
Rubyダウンロード
Rubyのインストール
Ruby と Python
巷で流行っている機械学習もRubyで書くことができます。
ただこの部門で言えば、機械学習分野で発達しているpythonに遅れをとっています。
Rubyで機械学習するには「PyCall」というPythonをRubyで動かすためのgemを使用するとPythonをベースに機械学習ができます。
Ruby on Rails
Ruby on Railsは、Rubyを使ったWEBアプリケーションフレームワークです。
Ruby on RailsはRubyが普及するきっかけを作りました。
Railsの基本理念は、
「同じことを繰り返さない」(DRY:Don’t Repeat Yourself)
「設定より規約」(CoC:Convention over Configuration)
です。
Ruby on Rails(ルビーオンレイルズ)は、オープンソースのWebアプリケーションフレームワークである。RoRまたは単にRailsと呼ばれる。その名にも示されているようにRubyで書かれている。またModel View Controller(MVC)アーキテクチャに基づいて構築されている。
実アプリケーションの開発を他のフレームワークより少ないコードで簡単に開発できるよう考慮し設計されている。Railsの公式なパッケージはRubyのライブラリやアプリケーションの流通ルートであるRubyGemsにより配布されている。
コメント