日本が世界に誇れるものと聞いて何が思い浮かぶでしょうか。寿司や天ぷらなどの日本食、トヨタや日産などの自動車、アニメやゲームなどのオタク文化が思い浮かぶでしょう。しかし、IT業界で言うなら「Ruby」を挙げることができるでしょう。Rubyは世界中の人が使っている日本初のプログラミング言語です。今回は、日本が世界に誇るRubyについて紹介します。

RubyのWebサイト

Rubyの生い立ちとブレイクについて

Rubyは1993年にまつもとゆきひろ氏によって開発され、1995年にオープンソースのプログラミング言語としてリリースされました。Rubyの名前の由来は、同じく有名なプログラミング言語のPerlが6月の誕生石であるPearl(真珠)と同じ発音をすることから、7月の誕生石である「ルビー」を取って名付けられました。

Rubyが世界的にブレイクするきっかけになったのは、2004年に登場したWebフレームワークの「Ruby on Rails」です。これは名前にもある通り、Rubyを利用して作られています。Ruby On Railsを使うと、プログラムをたくさん書かなくても、高度なWebアプリを作ることができます。また、その設計思想であるMVCアーキテクチャは、他のフレームワークにも大きく影響を与えました。今では、GitHub、Hulu、Cookpad、Gunosyなどの人気サイトがRuby On Railsで開発されており、無名のものまで含めると、かなりの数のWebアプリが、Ruby On Railsを使って作られています。もちろん、Ruby On Rails登場前も、それなりにRubyは世界中で使われていましたが、間違いなく、Ruby On RailsがRubyを世界中に知らしめるきっかけとなりました。

Rubyの特徴

RubyのWebサイトのタイトルには、「オブジェクト指向 スクリプト言語 Ruby」と書かれています。オブジェクト指向であり、スクリプト言語なのです。これが、Rubyの特色です。

『スクリプト言語』とは、手軽にプログラムを作成できるプログラミング言語のことです。そして、その特徴の通り、プログラムを機械語に翻訳する「コンパイラ」ではなく、ソースコードを読んで直接実行する「インタプリタ」の方式で実行されます。ただし、実行速度を速くするために、一度、バイトコードと呼ばれる独自形式に変換してから実行します。

そして、なんと言ってもRubyの特徴は、オブジェクト指向を貫いていることです。Rubyでは「すべてがオブジェクト」であり、数値でさえその例外ではありません。そして『オブジェクト指向』というのは、オブジェクト(物)を中心に考えるプログラミング手法であり、その手法は大規模開発を行う際にも役立ちます。

プログラミング言語によって、できることには差がありますが、Rubyでは以下のようなプログラムを開発できます。

・Webアプリの作成 --- 前述のRuby On Railsを利用することによって、素早く高度なWebアプリを開発することができます。

・スマホアプリの作成 --- RubyMotionなどのフレームワークを使うことで、iOSやAndroidのアプリを開発できます。

・バッチ処理 --- Rubyには様々なライブラリが存在します。しかも、RubyGemsというパッケージ管理システムがあるので、必要なライブラリを手軽に追加導入できます。



（雑談）「ひげとRuby」

ところで、何年も前ですが、筆者はRuby開発者のまつもとひろゆき氏と話したことがあります。その時の印象は、気さくで知的な人というものでした。その時には「有名なプログラミング言語作者は必ずひげを生やしている、プログラミング言語を開発するなら、ひげを生やすところから」と言う話で盛り上がりました。改めて、画像検索でまつもと氏を検索すると、やはり、素敵なひげが印象的です。Rubyがブレイクした理由の一つに、まつもと氏のひげも貢献しているのかも（？）しれません。

Rubyのインストール

それでは、実際にRubyをインストールして使ってみましょう。

【Windowsの場合】



Windowsの場合は、RubyInstallerというWebサイトから、インストーラーをダウンロードできます。[Download]ボタンをクリックし、開発ツール込みの「WITH DEVKIT」の最新バージョン、あるいは、開発ツールなしの「WITHOUT DEVKIT」の最新バージョンをダウンロードすると良いでしょう。ここでは、macOSに合わせて、開発ツールなしを選んでダウンロードしました。

インストーラーをダウンロードしたら、ダブルクリックして実行しましょう。ライセンスに同意したら、[Next]ボタンを 数回押して行くだけでインストールは完成します。

Rubyのインストールをしているところ

【macOSの場合】



macOSの場合ですが、何もしなくてもRubyが最初からインストールされています。さすが、世界のRubyです。

macOSでは最初からRubyがインストール済みです

一番簡単なプログラム - Hello, World

Rubyがインストールできたら、最も簡単なプログラム、Hello, World!と表示するだけのプログラムを作ってみましょう。以下のプログラムをテキストエディタに記入したら「hello.rb」という名前で保存します。

print "Hello, World!

"

そして、コマンドラインから以下のコマンドを実行すると、Rubyのプログラムを実行できます。Windowsでは、コマンドプロンプトかPowerShell、macOSでは「ターミナル.app」を起動して、以下のコマンドを入力しましょう。

$ ruby hello.rb Hello, World!

プログラムを見てみましょう。スクリプト言語らしく、面倒な手続き表現もありません。『print "メッセージ"』のように書くだけです。

FizzBuzzを書いてみよう

Rubyの雰囲気を味わうために、FizzBuzz問題を解いてみましょう。本連載では、様々な言語でこの問題を解くプログラムを紹介しています。なお、FizzBuzz問題とは、次のようなものです。

1から100までの数を出力するプログラムを書いてください。ただし、3の倍数のときは数の代わりに｢Fizz｣と、5の倍数のときは｢Buzz｣と表示してください。3と5の倍数の時は｢FizzBuzz｣と表示してください。

# 値iに応じてFizzBuzzを表示する関数 --- (*1) def fizzbuzz(i) if i % 3 == 0 and i % 5 == 0 print "FizzBuzz

" elsif i % 3 == 0 print "Fizz

" elsif i % 5 == 0 print "Buzz

" else print "#{i}

" end end # 1から100までfizzbuzz()を呼ぶ --- (*2) (1..100).each do |i| fizzbuzz(i) end

プログラムを実行するには、上のプログラムを「fizzbuzz.rb」という名前で保存し、rubyコマンドに与えて実行します。コマンドラインで以下のコマンドを実行します。

ruby fizzbuzz.rb

実行すると、以下のように表示されます。

FizzBuzz問題をRubyで解いたところ

プログラムを確認してみましょう。ここでは、最初に、(＊1)以降の部分で関数(メソッド)fizzbuzzを定義します。この関数は、与えられた値に応じて、FizzBuzzかFizzかBuzzかあるいは数字そのままかの反応を表示するものです。そして、(＊2)の部分では、1から100まで繰り返し関数fizzbuzz()を呼び出します。この際、他のプログラミング言語のように、for構文を使うこともできますが、『(n..m).each do |i| ... end』構文も使えるというのは、Rubyの表現力の高さを物語っています。

Rubyのまとめ

Rubyは日本初ということもあるので、Rubyに関する様々な反応がインターネットに溢れています。それで「Ruby 楽しい」などのキーワードで検索すると興味深い意見がたくさん出てきます。というのも、開発者のまつもと氏は、Rubyの価値は「楽しいプログラミング」にあると繰り返し述べているからです。楽しいからこそ、Rubyを基本にして、多くの実用的なプログラムが作られ、それが世界中で使われるようになりました。皆さんも、Rubyで楽しくプログラミングを味わってみてはどうでしょうか。