今さら聞けない!Rubyとは【初心者向け】|現役エンジニアが解説
プログラミング初心者向けにRubyとは何なのか詳しく解説しています。Rubyという言語の便利な点やRubyでできること、実際の書き方などをわかりやすくまとめています。これからRubyを学習しようと思っている方はぜひご覧ください。
TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。
最近よく耳にする「Ruby」とは一体どのような言語なのでしょうか?
今回はその「Ruby」の正体を解説していきたいと思います。Web系の企業でもRubyを使っているところは多いので、これからRubyを勉強してみたいという人はぜひ参考にしてみてください。
終わりには、学習方法もいくつか紹介しているので、自分の好きなやり方で勉強してみましょう。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
なお、今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。

ここではプログラミング言語のひとつ、Rubyについて解説していくよ。

田島メンター!!Rubyはどんな用途で使われる言語なんですか〜?

一番よく使われているのはWebアプリケーションかな。動的なサイトを作るのにとても役立つんだ。有名なクックパッドなどもRubyを使用して作られているよ。

なるほど。是非覚えてみたいです!
目次
- Rubyとは
- Rubyでできること
- オブジェクト指向とは
- Rubyの動向
- Rubyが日本で人気な理由
- Rubyで開発が向いているサービス
- Rubyのインストール
- Rubyの書き方
- Rubyの基本構文
- Rubyの学習方法
- Rubyの学習時のポイント
Rubyとは
Rubyとは、まつもとゆきひろ氏により開発されたオブジェクト指向スクリプト言語です。
CやJavaといったコンパイラ言語は、プログラムを実行するためにはコンパイルという手続き(人間が書いたソースコードを機械命令に変換)を介して初めて実行ができます。
しかし、スクリプト言語はこう言った手続きが一切不要で、そのまま実行することができるため、コンパイラ言語に比べてプログラミングを手軽に行うことができます。
また、オブジェクト指向言語なので、すべてのデータがオブジェクトとして表現されています。
つまり継承などといったオブジェクト指向ならではの機能を使うことができます。
継承をすることで書くコードの量が少なくて済み、読みやすく作業効率も上がるでしょう。
Rubyの名前の由来ですが、宝石の「ルビー」から来ています。
Perl(パール)という名前のプログラミング言語がありますが、宝石の真珠(パール)と読み方が同じという点で宝石の名前を取ったようです。
なぜRuby(ルビー)なのかというと、当時のまつもと氏の会社の同僚が7月生まれで、7月の誕生石がルビーだったからです。
Ruby/Rails開発のためのおすすめエディタ/IDEも紹介しているので、合わせてご覧ください。
[PR] Rubyのプログラミングで挫折しない学習方法を動画で公開中
Rubyでできること
Rubyを使うメリットとして一番大きいのは、Ruby on RailsというWebアプリケーションフレームワークを使うことができるということです。
Ruby on Railsを使うと、WebサイトやWebベースの業務システムを効率良く開発できると言われています。
Rubyを使っている企業は多くあり、そのほとんどがRuby on Railsを使っているのでエンジニアとして活躍することも可能でしょう。
オブジェクト指向とは
従来のプログラミング言語では困難になってきた、大規模なソフトウェアの開発をより効率よく開発を行うために考え出された
概念です。
一般的に、以下の特徴を持っています。
- カプセル化
- 継承
- ポリモーフィズム(多態性)
カプセル化
カプセル化とは指定の方法以外で外部からデータにアクセスできないようにすることです。
想定外のアクセスにより、本来書き換えてはならないデータを誤って書き換えることがなくなります。
たとえば、ゲームのセーブデータなどは簡単に書き換えられてしまう訳にはいきません。
そういったデータを書き換えられないようにするためにもカプセル化という機能は重要です。
継承
継承とは、既にある機能を受け継ぎ、効率よくソフトウェア開発を行うための機能です。
例えば、既にあるプログラムを一部改修を加え、新しく作り直したいことがあります。
そうした際に、一から作り直すのはかなり面倒です。
そこで、継承を利用することで既存の機能をそのまま再利用しつつ、新たな機能を定義することができるのです。
ポリモーフィズム(多態性)
ポリモーフィズム(多態性)とは、同じ名前の機能(プログラム)を作成でき、それらが独立して存在できることです。
例えば、スマートフォンでは動画や音楽が再生できます。
この動画や音楽を再生するプログラムをPlayという名前でそれぞれ作ったとします。
この時、ポリモーフィズムの概念がないプログラミング言語(C言語など)では、同じプログラムが二重に定義されていますとエラーが出てきます。
ですが、RubyやC++などでは音楽ファイルなら音楽を再生し、動画ファイルであれば動画を再生することができます。
このように同じ名前のプログラムを複数定義でき、それぞれのデータに合わせて使うことができることをポリモーフィズム(多態性)と言います。
Rubyの動向
Rubyは現在も積極的に開発が進められています。
2020/5/23現在の最新の安定版は2.7.1です。また古いバージョンである2.4は公式サポートが終了しました。
最新の2.7系では多くの機能強化やパフォーマンスの改善が行われました。
詳しくは2.7.0のリリースノートを参考にしてください。
フレームワークであるRuby on Railsも継続して開発が行われています。
2020/5/23現在の最新バージョンは6.0.3.1です。
こちらも最新の6.0系では、新しいフレームワークの導入やマルチデータベース対応など、多くの機能追加が行われています。
詳しくは6.0のリリースノートを参考にしてください
なお、毎年恒例のイベントであるRubyKaigi(ルビー会議)ですが、2020年のRubyKaigi2020はコロナウィルス感染症の影響で延期となっています。
ただし中止ではなく延期というのは嬉しいですね。
詳しくはリリース記事を参考にしてください。
新型コロナウィルス感染症(COVID-19)に関するRubyKaigi2020の対応について
Rubyが日本で人気な理由
国内のWebサービスとしては、クックパッドや食べログなどがRubyを利用していることは有名です。
では、なぜRubyが使われているのでしょうか?
一つは、Rubyの開発効率の高さです。
Rubyは「Enjoy for Programing!」を掲げており、プログラマーにとってコーディングしやすいプログラミング言語となっています。
直感的に、実装したい機能をコーディングできるためストレスフリーで開発を行うことができます。
そして、フレームワーク(Ruby on Rails)の存在です。
「Ruby on Rails」とはRubyのWebアプリケーションフレームワークであり、数回のコマンド入力を行うだけで、Webサイトが自動生成できるRuby on Railsは大幅な開発工程の短縮を実現しました。
このRuby on Railsの登場により、開発コスト削減を図る企業などでの利用が増加しました。
また、スタートアップ企業などがWebサービスを立ち上げるために、Ruby on Rails を利用していることも多いです。
また、Rubyは日本で開発されたプログラミング言語であることも利用されている理由の一つです。
C++やJavaといったプログラミング言語の最新情報は英語で書かれていることが多く、それら最新技術を利用するには、一定の英語スキルが必要になります。
また、有用な参考書なども英語で書かれていることが多く、それらの翻訳されたものは、誤訳されたものもあります。
しかし、Rubyは開発者が日本人ということもあり、日本語で書かれた有用な参考書が数多く手に入ります。
そのため、最新情報をいち早く活用することもできるのです。