今さら聞けない!Rubyとは【初心者向け】

プログラミング初心者向けにRubyとは何なのか詳しく解説しています。Rubyという言語の便利な点やRubyでできること、実際の書き方などをわかりやすくまとめています。これからRubyを学習しようと思っている方はぜひご覧ください。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

最近よく耳にする「Ruby」とは一体どのような言語なのでしょうか?

今回はその「Ruby」の正体を解説していきたいと思います。Web系の企業でもRubyを使っているところは多いので、これからRubyを勉強してみたいという人はぜひ参考にしてみてください。

終わりには、学習方法もいくつか紹介しているので、自分の好きなやり方で勉強してみましょう。

 

なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。

 

20163020-2

 

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

 

20160620

 

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

 

20163020-2

 

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

 

20160620

 

なるほど。是非覚えてみたいです!

 

 

目次

 

Rubyとは

Rubyとは、まつもとゆきひろ氏により開発されたオブジェクト指向スクリプト言語です。

CやJavaといったコンパイラ言語は、プログラムを実行するためにはコンパイルという手続き(人間が書いたソースコードを機械命令に変換)を介して初めて実行ができます。

しかし、スクリプト言語はこう言った手続きが一切不要で、そのまま実行することができるため、コンパイラ言語に比べてプログラミングを手軽に行うことができます。

 

また、オブジェクト指向言語なので、すべてのデータがオブジェクトとして表現されています。

つまり継承などといったオブジェクト指向ならではの機能を使うことができます。継承をすることで書くコードの量が少なくて済み、読みやすく作業効率も上がるでしょう。

 

Rubyの名前の由来ですが、宝石の「ルビー」から来ています。

Perl(パール)という名前のプログラミング言語がありますが、宝石の真珠(パール)と読み方が同じという点で宝石の名前を取ったようです。

なぜRuby(ルビー)なのかというと、当時のまつもと氏の会社の同僚が7月生まれで、7月の誕生石がルビーだったからです。

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

Rubyでできること

Rubyを使うメリットとして一番大きいのは、Ruby on RailsというWebアプリケーションフレームワークを使うことができるということです。

Ruby on Railsを使うと、WebサイトやWebベースの業務システムを効率良く開発できると言われています。

Rubyを使っている企業は増えてきていますが、そのほとんどがRuby on Railsを使っているのでエンジニアとして活躍することも可能でしょう。

 

オブジェクト指向とは

従来のプログラミング言語では困難になってきた、大規模なソフトウェアの開発をより効率よく開発を行うために考え出された

概念です。

一般的に、以下の特徴を持っています。

  1. カプセル化
  2. 継承
  3. ポリモーフィズム(多態性)

カプセル化

カプセル化とは指定の方法以外で外部からデータにアクセスできないようにすることです。想定外のアクセスにより、本来書き換えてはならないデータを誤って書き換えることがなくなります。

たとえば、ゲームのセーブデータなどは簡単に書き換えられてしまう訳にはいきません。そういったデータを書き換えられないようにするためにもカプセル化という機能は重要です。

 

継承

継承とは、既にある機能を受け継ぎ、能率よくソフトウェア開発を行うための機能です。

例えば、既にあるプログラムを一部改修を加え、新しく作り直したいことがあります。そうした際に、一から作り直すのはかなり面倒です。

そこで、継承を利用することで既存の機能をそのまま再利用しつつ、新たな機能を定義することができるのです。

 

ポリモーフィズム(多態性)

ポリモーフィズム(多態性)とは、同じ名前の機能(プログラム)を作成でき、それらが独立して存在できることです。

例えば、スマートフォンでは動画や音楽が再生できます。この動画や音楽を再生するプログラムをPlayという名前でそれぞれ作ったとします。

この時、ポリモーフィズムの概念がないプログラミング言語(C言語など)では、同じプログラムが二重に定義されていますとエラーが出てきます。ですが、RubyやC++などでは音楽ファイルなら音楽を再生し、動画ファイルであれば動画を再生することができます。

このように同じ名前のプログラムを複数定義でき、それぞれのデータに合わせて使うことができることをポリモーフィズム(多態性)と言います。

 

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は開発者が日本人ということもあり、日本語で書かれた有用な参考書が数多く手に入ります。そのため、最新情報をいち早く活用することもできるのです。

 

Rubyのインストール

Rubyでプログラムを書こうと思ったらまず、Rubyをインストールする必要があります。

手順としては、

  1. RubyInstallerダウンロードページからダウンロード(執筆時最新版Ruby2.2.4)
  2. ダウンロードしたファイルを実行し、インストール。
  3. インストールが完了したら、ターミナルコマンドプロンプトから「ruby -v」と入力し、バージョンを確認。
  4. ruby 2.2.4などと表示されれば完了です。

 

20163020-2

 

RubyはWindowsとMacの両方で使用することができるよ。

 

20160620

 

やっぱりそれぞれによって開発環境の構築の方法がだいぶ違うんですか?

 

20163020-2

 

そうだね。また、インストールに必要なソフトがあったりと少し複雑なので、なるべく最新の情報を見てひとつずつ順番にやってみるのがいいと思うよ。公式のインストールガイドも参照しよう。

 

Rubyの書き方

Rubyのファイルは「.rb」という拡張子をつけることで保存されます。

実際にターミナル上にHello,world!を出力するプログラムを例に書き方を紹介したいと思います。

print("Hello,world!\n")

この一文だけで目的のプログラムを作ることができます。

他の言語では文末にセミコロンを打ちますが、Rubyではそれが必要ありません。他のプログラミング言語を少しでも学習したことがある方は、Rubyがいかにシンプルであるかが分かるかと思います。

実際にRubyを使ってみたいという方は、開発環境の構築方法も合わせてご覧ください。

 

Rubyの基本構文

Rubyでよく使う基本構文についていくつかまとめて紹介していきます。

基礎的な内容になるので、Rubyとは何かよく分からないという方でも覚えておくと今後役に立つでしょう。

if文

if文は「◯◯の場合〜〜する、△△の場合〜〜する」といった条件分岐の処理を行うことができます。「ログインできたらアカウント画面に、できなかったらエラー表示に」といった普段Webサイトを見ていると当たり前のように行なわれている処理が条件分岐なのです。

if ◯◯ then
  # ◯◯がtrueだった時の処理
else
  # ◯◯がfalseだった時の処理
end

 

for文

for文は、繰り返し処理をする際に使います。1+2+3+4+…のように手動で足していくのは面倒ですが、「1ずつ増えた数字を繰り返し足して、100まで繰り返す」といった宣言を行うことができるようになります。

for i in 1..5
  # 処理を行う式
end
  • 「i」は、変数という数字や文字を入れる箱
  • 「i in 1..5」は、iが1~5までの間繰り返しを行う

このように、iが5になるまで繰り返し処理が行われます。一つずつ処理を書いていたら面倒ですが、同じような処理を複数回行う場合はfor文を覚えておくと便利でしょう。

 

Rubyの学習方法

Rubyの学習方法としては以下の方法があります。

書籍での学習

たのしいRuby

Rubyの生みの親:まつもとゆきひろ氏監修のRuby入門本。かなりわかりやすくRubyの各クラスにについて触れられており、リファレンスブックとして購入しても良い名著です。

たった2日でできるRuby

たったの二日でRubyの概要を理解できる参考書。最初の入門書としてはこれで十分。

この本で一通りRubyについて学習したうえで、「たのしいRuby」などを使用すると良いでしょう。

作りながら学ぶRuby入門

実際にアプリケーションを作りながら、Rubyが学べる参考書です。

サンプルを動かしながら学べるので短期間にRubyでのコーディングの仕方が身に付きます。

 

動画での学習方法

Paiza

三分程度の動画でRubyについて無料で学べます。

またプログラミング問題もあるため、 自分のRubyスキルを確認することができる点も良いです。

Paizaの学習サイト

 

ミニツク

まつもとゆきひろ氏が在籍しているネットワーク応用通信研究所がリリースしているRuby学習サイト。

まつもと氏本人によるRubyの解説動画などもあり、コンテンツは豪華。

ミニツクの学習サイト

 

ドットインストール

3分程度の動画でRubyについて学べるサイトです。オンライン実行環境もあるため、気軽に試せます。

基本的な文法から学びたいという初心者の方におすすめです。

ドットインストールの使い方

 

リファレンスサイトでの学習

Rubyリファレンスマニュアル

Rubyのリファレンスマニュアル。通称るりま。各クラスの解説もわかりやすくされています。

また、サンプルコードなども掲載されているので、困ったときに見ると良いサイトです。

Rubyリファレンスマニュアルのサイト

 

RubyLife

Rubyの環境構築から条件分岐まで幅広く解説されているサイトです。

特にWindowsでRubyの開発環境を構築される方にはオススメです。

RubyLifeのサイト

 

Ruby公式サイト

Rubyの公式サイトです。

Rubyのチュートリアルもありますので、まず試してみたいという方にオススメ。

Ruby公式サイト

 

いかがでしたでしょうか。

簡単ではありますが、Rubyについて紹介をしました。

Rubyは、日本発のプログラミング言語ですので、日本語のドキュメントも多く学習しやすいはずです。ぜひこの機会に始めてみましょう。

 

20163020-2

 

Ruby on Railsに関してはまた別のところで解説しよう。Webアプリの開発に利用できるフレームワークで、これも幅広く使用されているよ。

 

20160620

 

コードを見てると他の言語だと文末に”;”(セミコロン)が付いたりしますが、Rubyだとないんですね。

 

20163020-2

 

それもRubyの特徴のひとつだね。もちろん上で紹介しているようにif文やfor文など、他のプログラミング言語で見られるような基本構文も使うことができるよ。環境構築ができたら少しずつ文法も勉強していこう。

 

20160620

 

はい、分かりました!

 

[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。