プログラミング言語 Rubyとは? できること・特徴を初心者向けに解説

プログラミング言語として代表的な「Ruby(ルビー)」。

ここでは初心者向けに、そもそも Rubyとは何か? という話や、Rubyで何ができるのか・特徴を解説していきます。

 

Rubyとは?

プログラミングの言語は Java、Perl、Python、PHPなど、さまざまな種類が存在しています。「Ruby(ルビー)」は数あるプログラミング言語の中のひとつです。

「まつもと ゆきひろ」氏という日本人が公開し、フリーソフトウェアとして無料で誰でも自由に使えます。

記述量がシンプルで少なく、今では世界中に広まって、代表的なプログラミング言語のひとつとなりました。

メモ

そもそもプログラミングとは何か? という話はこちらをどうぞ。

 

Rubyを使って できること

Ruby で できることの例として、以下のようなものがあります。

  • ファイルの処理やコンピューターの操作を自動化させるといった小さなプログラム
  • アプリからサーバーに保存されているデータと通信するためのAPI
  • ショッピングや会員サイトなどのウェブサービス

 

とくに「Ruby on Rails」というウェブアプリケーションを作るためのフレームワークと組み合わせて、ウェブサービス開発を行う用途として使われることが多いです。このサイトでも「Ruby on Rails」を使ったアプリケーション開発を解説していきます。

実際に多くのウェブサービスで Ruby が採用されており、現状 Rubyエンジニアの求人数も多いです。

Ruby を採用している代表的なウェブサービス
  • クックパッド – 料理レシピ検索サービス
  • 食べログ – 飲食店のランキング・口コミサイト
  • クラウドワークス – お仕事の依頼・受注ができるクラウドソーシングサイト
  • ココナラ – 得意なことを売り買いできるスキルマーケットサイト
  • GitHub – ソースコードを管理・共有できる開発プラットフォーム

 

Ruby の特徴

以下に Ruby の特徴を紹介します。プログラミング未経験だとわからない単語も ときおり出てくるかと思いますが、ここで雰囲気をつかんでみてください。

 

コードの記述量が少ない

Ruby は比較的 コードの記述量が少ない言語です。

 

複数の言語で比較してみましょう。

例えば以下は、PHPという言語のサンプルコード。

if ($input === 'A') {
  echo 'Aボタンが押されました。';
}

こちらは JavaScript のコード。

if (input == 'A') {
  document.write("Aボタンが押されました。");
}

Ruby だとこうなります。

if input == 'A'
  p 'Aボタンが押されました。'
end

 

Ruby の場合だと、( ){ }; のような記述は省かれ、p といったメソッド名もシンプルに設計されています。

 

直感的にコードが書ける

Ruby は直感的にコードを書くことができます。

 

例えば以下は Java という言語で変数の定義をする例。int などの型を記述する必要があります。

int i = 1;

一方 Ruby の場合は、

i = 1

とするだけで自動で整数として扱ってくれます。

 

また、

require "date"
Date.today

とすると今日の日付が取得できます。メソッド名が today なのでなんとなくコードの意味がわかりますね。

次に、以下のように next を加えることで、明日の日付が取得できます。

Date.today.next

さらに以下のように month を使えば、今日が何月かを数値で出力できます。

Date.today.month

 

Ruby はよく「書いてて楽しい」と言われることがありますが、このようにコードがシンプルでわかりやすく、気を利かせて思ったとおりに動いてくれるところにあります。

 

オブジェクト指向

モダンなプログラミング言語には だいたい採用されていますが、Ruby も「オブジェクト指向」な言語です。

他の言語と同様、「クラス」「インスタンス」「継承」「メソッド」などの概念があります。こちらは以降の記事で詳しく解説していきます。

 

インタプリタ方式(スクリプト言語)

CやJavaといった言語は コンパイル方式(コンパイラ言語)と呼ばれ、プログラムを実行する前に「コンパイル」という処理を踏む必要があります。

Rubyはインタプリタ方式(スクリプト言語)に分類され、コンパイルは必要ありません。そのためプログラムを書きながら逐一 動作が確認でき、エラーが起きた場合でもデバッグが容易です。

ただし、コンパイル方式(コンパイラ言語)のほうがプログラムの実行速度は早いです。

 

汎用性が高い

ライブラリ(gem)が充実しているおかげで、よく使われる機能は一から実装しなくても かんたんに組み込むことができます。

また、Linux、UNIX、macOS、Windows など、多くのOS上で使うことができます

このように Ruby は汎用性が高く、さまざまな用途や環境下で用いられています。

 

まとめ

以上、Rubyで できることや特徴でした!

 

ここまでの内容をまとめておきます。

  • 「Ruby(ルビー)」は数あるプログラミング言語の中のひとつ。
  • 小さなプログラム、API、ウェブサービスなど幅広い用途に使われている。
  • Ruby の特徴として、コードの記述量が少ない、直感的にコードが書ける、オブジェクト指向、インタプリタ方式(スクリプト言語)、汎用性が高い、などがあげられる。