Ruby(ルビー)とは?特徴、できること、プログラミング入門、ダウンロード

スポンサーリンク
プログラミング言語

プログラミング言語 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で、できること、作られたサイトは次の通りです。

 

クックパッド

レシピ検索No.1/料理レシピ載せるなら クックパッド
日本最大の料理レシピサービス。317万品を超えるレシピ、作り方を検索できる。家庭の主婦が実際につくった簡単実用レシピが多い。利用者は5400万人。自分のレシピを公開することもできる。

 

Airbnb

現地の人から借りる家、体験&スポット - Airbnb

 

グノシー

ニュースアプリ「グノシー」
雑談力がつくニュースアプリ

Ruby 初心者のための入門サイト

Rubyを初心者が学ぶための入門サイトはいくつかあります。

以下にまとめました。

 

Ruby入門

Ruby入門
Rubyを使ってプログラミングの学習を開始される方を対象としたRuby入門です。Rubyの開発環境をローカルに構築する方法や、Rubyを使ったプログラムの記述方法や実行までをサンプルを使いながら順に学習していきます。

 

Ruby入門

Ruby入門

 

Ruby入門

Ruby入門
__Ruby__は、数あるプログラミング言語の1つです。Rubyなどのプログラミング言語を学び駆使することができるようになると、コンピューターに様々な仕事をさせることができるようになります。 __Ruby on Rails__というwebアプリケーション・フレームワーク自体も、プログラミング言語Rubyで記述されていま...

Rubyの公式サイト

Rubyの公式サイトは以下の通りです。

 

オブジェクト指向スクリプト言語Ruby

オブジェクト指向スクリプト言語 Ruby

 

Rubyのダウンロード、インストール

Rubyのダウンロードは公式サイトからダウンロードします。

インストールは、OSごとに異なりますが、公式サイトのインストール手順に沿ってインストールするのが一番よいでしょう。

 

Rubyダウンロード

ダウンロード

 

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により配布されている。

 

 

コメント