Rubyの優れた5つの特徴!他の言語との比較

Rubyは、ここ10年くらいの間に非常に注目を集めるようになったプログラミング言語です。皆様もちょくちょく名前を聞いたことがあるでしょう。一昔前は同じ位置の言語ではPerlがメジャーでしたが、最近はRubyの方が良く使われるようになりました。 本稿では、Rubyの優れた特徴を5つ紹介しながら、他のプログラミング言語と比較してみたいと思います。

Ruby言語の5つの特徴


Rubyには、大きく以下の5つの特徴があります。

オブジェクト指向である

最近のプログラミング言語はすべてそうですが、Rubyもちゃんとしたオブジェクト指向言語です。しかも、非常に簡単にクラスや継承の定義ができます。以下は、Rubyでクラスを作成したサンプルです。

class Sample
@echo = “”””
def setEcho(val)
@echo = val
end
def getEcho
return @echo
end
end
Rubyの文法がわからなくても、なんとなく、何をやっているかわかると思います。

インタプリタ方式である

Rubyはインタプリタ方式です。インタプリタ方式とは、実行時に実行エンジンがプログラムソースを逐次解析し、1行ずつ実行してく方式です。インタプリタ方式の反対はコンパイル方式で、コンパイルはあらかじめコンパイラを使ってプログラムソースを実行モジュールに変換しておき、実行はその実行モジュールで行うものです。インタプリタ方式、コンパイル方式ともに一長一短がありますが、インタプリタ方式の良いところは、プログラムを書いている最中に実行させることができるため、エラーを見つけやすい点です。その半面、実行速度はコンパイル方式よりも遅くなります。

汎用性が高い

最近ではWebシステム開発に利用されることが増えたRubyですが、gemと呼ばれるライブラリ群が充実しているので、Webシステム開発以外も開発ができる、非常に汎用性が高い言語です。実行環境もエンジンされあれば良いので、Windowsをはじめ、MacOSやLinux上でも動作します。

自由度が高い

Rubyは動的型付なので、記述の自由度が高い言語です。動的型付とは、変数に型宣言が不要で、実行時に変数の型が判断される言語仕様のことです。一例として、有名なプログラミング言語であるJavaで整数型の変数を定義する場合は、
int var = 123;
のように、「int」キーワードで整数であることを明示します。しかし、Rubyの場合は、
var = 123
と書けば、実行時に自動的に整数であると判断してくれます。

記述量が少ない

自由度が高い、にも言えることですが、Rubyは必要な最低限のことだけを書けば良いように設計されています。もともと、書きやすく、読みやすくがコンセプトの言語なので、これは納得の結果でしょう。他の言語では英単語で表現される予約後も、大半が記号化されているので、覚えてしまえばとても書きやすい言語です。
例えばある値が1から10の間に入っているかの判定をRubyでは、
if(1..10) === val then
と書くことができます。

他の言語との比較

プログラミング,kuguru,クグル,くぐる

pythonとの比較

pythonも最近話題になっている言語です。pythonとRubyは、利用されるシーンが異なります。RubyはWebシステム開発に使われるのが主流ですが、pythonは人工知能や学術計算に使われることが多い言語です。また、pythonはインデントがブロックを表すという特徴があります。Rubyの場合は明示的にendでブロックを閉じます。

perlとの比較

perlはRubyより古い言語で、Rubyが登場するまではWebシステム開発でよく使われていました。もともとはオブジェクト指向言語でなかったのですが、後に言語仕様が拡張されてオブジェクト指向になりました。しかし、その拡張部分があまりきれいな仕様ではないので、Rubyに比べると見劣りします。反面、Rubyよりもテキスト処理が得意です。

PHPとの比較

PHPはWebシステム開発専用の言語です。他の言語がHTMLを作るのに対し、PHPはHTMLに埋め込むのが前提です。比較的小規模のWebシステム開発を作るのには非常に適していますが、反面、大規模なWebシステムを開発するのは、Rubyに比べると辛いものがあります。またRubyは汎用言語なのでWebシステム開発以外にも使えますが、PHPはWebシステム開発にしか使えません。

Ruby on railsの4つの特徴

テストの自動化

Ruby on railsでは、テストコードを非常に簡単に作成することができます。railsではモデルやコントローラといったMVC用のクラスのテンプレートを自動的に作成してくれるのですが、テストコードのスケルトンも、併せて自動で作成してくれます。このスケルトンに、必要なテストコードを書けば、それで自動テストができるようになります。

直接データベースの操作が可能

railsには、railsコンソールがあり、これを使うと直接データベースの操作を行うことができます。例えば、Userというクラスにnameとaddressを持たせ、これをデータベースにトロクするという場合、railsコンソール上で以下のコマンドを打ちます。
user = User.new({name:’Taro Yamada’, address: ‘Tokyo’})
user.save
これだけで、データベースに’Taro Yamada’と’Tokyo’という情報を持つレコードが登録されます。

繰り返しを避ける原則に基づいている

Rubyは、DRY(Don’t Repeat Yourself)-繰り返しを避ける、という思想で設計されています。railsにもこの思想が随所に活かされ、開発者の負担を軽減しています。中でもrailsのヘルパースクリプトがその良い例です。

MVCアーキテクチャー

railsはMVC(Moder,View,Control)アーキテクチャーを実装しています。MVCは昨今のWebシステム開発ではスタンダードとなったモデルで、システムをモデル(データアクセス中心)、ビュー(フロントエンド中心)、コントローラ(モデルとビューを仲介して全体を制御)の3つに分ける手法です。どこに何を書けばよいのか、どこに何が書いてあるのかが明確になり、開発効率、保守性が大きく向上します。

まとめ

本稿では、Rubyの特徴とともに、他のスクリプト言語と比較して解説しました。RubyはRuby on railsとともに、Webシステム開発の第一線で使われている言語です。言語仕様もわかりやすく、ニーズも高いため、これから勉強するには非常に適しているといえます。

▶Rubyの他の記事も見てみよう!
Rubyとは?何ができるのか徹底解説! | kuguru[クグル]
便利で使いやすいRuby!Rubyでできること、できないこと | kuguru[クグル]
Rubyのインストール方法!OS別に解説 | kuguru[クグル]
【Ruby】おすすめの開発環境は?OS別の環境構築方法 | kuguru[クグル]
Ruby on railsとは?特徴とできること | kuguru[クグル]

おすすめコンテンツ


ページ上部へ戻る