【Ruby】Rubyとは?「楽しさ」を大事にするプログラミング言語を初心者向けに解説

Ruby

こんにちは、かつコーチです。

「プログラミングを始めようと思ったら、Rubyという名前をよく見かける」。
そんな理由でこの記事にたどり着いた方も多いと思います。
この記事では、Rubyが何者なのか、Ruby on Railsとは何が違うのか、実際にどんな場面で使われているのかを初心者向けに解説します。
読み終える頃には、Rubyという選択肢に自信を持てるようになるはずです。

Rubyとは?

まつもとひろゆき氏が開発した日本発の言語

Ruby(るびー)は、まつもとゆきひろ氏(通称Matz)が開発したプログラミング言語です。
1995年に公開されました。
世界的に広く使われているプログラミング言語の中で、日本人が開発した数少ない言語の一つです。

Matzさんはインタビューなどで「プログラミングを楽しくすること」を開発の中心に据えたと繰り返し語っています。
これはRubyの設計思想を理解するうえでとても重要なポイントです。

「開発者の幸福」を重視する設計思想

RubyにはPOLS(Principle of Least Surprise)という考え方があります。
驚き最小の原則と訳されることが多い言葉です。
プログラマーが「こう書けば、こう動くはずだ」と予想した通りに動く、という意味です。

たとえば文字列を3回繰り返したいとき、Rubyでは次のように書けます。

puts "Hi! " * 3
# => "Hi! Hi! Hi! "

文字列と数値を掛け算するという直感的な書き方が、そのまま動きます。
このように、人間の感覚に近い書き方ができる点がRubyの大きな特徴です。
公式サイトでもRubyは「プログラマーの生産性と楽しさを重視した言語」と説明されています。

他の言語との違い

Rubyはオブジェクト指向言語です。
オブジェクト指向とは、データとそれを扱う処理をひとまとめにして部品のように扱う考え方のことです。
Rubyでは数値や文字列、真偽値まですべてがオブジェクトとして統一的に扱われます。

puts 5.class
# => Integer

puts "hello".class
# => String

このように、どんな値に対しても.classのようにメソッドを呼び出せるのがRubyらしさの一つです。
PythonやJavaScriptと比べても、文法がシンプルで読みやすいと言われることが多い言語です。

Ruby on Railsとの関係

言語とフレームワークは別物

初心者の方がよく混乱するポイントが、RubyとRuby on Railsの違いです。
結論から言うと、Rubyはプログラミング言語そのものであり、Ruby on Rails(略してRails)はRubyで作られたWebアプリケーション開発用のフレームワークです。

フレームワークとは、Webアプリを効率よく作るための土台や仕組みのことです。
料理に例えると、Rubyが「包丁や鍋などの調理器具」だとすれば、Railsは「レシピと下ごしらえ済みの食材がセットになったキット」のようなものです。
道具(Ruby)だけでも料理はできますが、キット(Rails)を使うことでWebアプリをより早く形にできます。

なぜセットで語られることが多いのか

Railsは2004年にDavid Heinemeier Hansson氏によって開発されました。
RubyとRailsの組み合わせは、少ないコード量でWebアプリを効率的に作れることから世界中で人気になりました。
そのため「Ruby」と検索すると「Ruby on Rails」の情報が一緒に出てくることが多いのです。

私が初心者だった頃、この違いを理解せずに学習を始めてしまい、Rails特有の書き方をRubyの標準機能だと勘違いして混乱した経験があります。
「これはRubyの文法なのか、Railsの機能なのか」を意識するだけで、学習効率がぐっと上がります。

どんな場面でRubyが使われるか

Webアプリケーション開発

Rubyの主な用途はWebアプリケーション開発です。
先ほど紹介したRailsを使い、ECサイトや予約システム、SNSなど幅広いサービスが開発されています。
有名な例としては、クックパッドやRettyといったサービスがRailsを採用してきたことで知られています。

スクリプトによる自動化・ちょっとした処理

Rubyは1つのファイルに書いてすぐ実行できるスクリプト言語でもあります。
ファイルの一括リネームや、CSVデータの集計といった日常的な作業の自動化にも向いています。

# 1から5までの数を出力するだけの簡単なスクリプト
(1..5).each do |n|
  puts "#{n}番目の処理です"
end

このように、大きなアプリでなくても気軽に書ける手軽さもRubyの魅力です。

まとめ

この記事のポイント

  • Rubyはまつもとゆきひろ氏が開発した、日本発のオブジェクト指向プログラミング言語
  • 「プログラマーの幸福」「驚き最小の原則」を重視した設計思想が特徴
  • Ruby on Railsは「Rubyで作られたWebアプリ用フレームワーク」であり、Ruby本体とは別物
  • Web開発から日常的な自動化スクリプトまで、幅広い場面で使われている

次に読むべき記事

Rubyの世界観がつかめたら、次は実際に手を動かす環境を整えましょう。
「rbenvでRubyのバージョン管理をする方法」で、開発環境の準備を進めてみてください。

タグ: Ruby, 初心者向け, 入門

タイトルとURLをコピーしました