【 開発言語 】Rubyのメリット・デメリットを知ろう
こんにちは、x-climbです。
前回は、学べるシリーズ「 Rubyを使って開発できるサービスを知ろう 」について簡単に説明しましたね。
今回は少し深ぼりしまして、Rubyのメリット・デメリットを簡単に見ていきましょう。
いわゆる開発言語ですが、多くの言語がシステム開発で利用されています。
言語の種類によって、その言語がどの開発に向いているのか、向いていないのか?ということも別記事にて解説していきたいと思います。
では、サクッといきましょう。
メリット
汎用性が高い
前回の記事にて軽く触れましたが、Rubyは汎用性が高いというのが特徴です。
あらゆるOSにて動作可能な為、汎用性という面で優れています。
コードがシンプル
他の開発言語と比較した場合、10行前後必要なコードをRubyであれば1〜2行で書くことも可能です。
コード自体がシンプルなので、相対的に誰が見てもわかりやすい言語と言えるでしょう。
コードがシンプルということは、工数短縮にも繋がりますので、開発側にとって大きなメリットとなるのです。
インタプリタ方式ではない言語の場合、機械にプログラムを理解してもらえるように記述変換しなければなりません。
Rubyはインタプリタ方式なので、その記述変換の必要性がありません。
コードがシンプルなので、書いたプログラムをすぐに試すことができ、エラー箇所(不具合箇所)を見つけることが容易という点はエンジニアにとって嬉しいことですね。
ちなみに、PHP・Python・JavaScriptは、Rubyと同じインタプリタ方式の開発言語です。
オブジェクト指向という言葉も説明したいですが、長くなります(明確な定義の説明が難しい)ので、別記事にて解説したいと思います。
学習環境が充実している
Rubyは、日本発のプログラミング言語ということもあり、日本語で書かれた参考記事が多いです。
情報が豊富な点は強みと言えるでしょう。
日本発ではない開発言語の場合、参考にする記事のほとんどが英語なので、英語が読めないと苦労する面も出てくるかと思います。
また、Rubyを学習できる書籍が豊富に出版されていることも強みと言えますよね。
Rubyという言語は、初心者にとって学習しやすい環境が揃っているのです。
デメリット
処理速度が遅い
Rubyはインタプリタ方式の言語であるという話をメリットの章で触れました。
機械に理解してもらえるように記述変換する過程で、インタプリタ式・コンパイル式というふうに分けることができます。
- インタプリタ方式(コードを1つずつ機械語に訳して実行)
- コンパイル方式(コードを機械語に訳して実行)
①は機械語に訳しながら実行されるので、コンパイル方式よりも処理速度が遅い点がデメリット。
②は、コードを一旦全て機械語に訳して実行していくので、インタプリタ方式よりも実行速度が早い点がメリット。
①と②を最もわかりやすくイメージすると、下記の通り。
- 英語の通訳を挟みつつ日本語を話す=インタプリタ方式(処理が遅い)
- 日本語に訳された英語の書籍を読む=コンパイル方式(処理が早い)
処理速度が遅いという点が、Rubyのデメリットですね。
他にも細かいデメリットを挙げることはできますが、最も一般的なデメリットを知っておけばOKです。
Ruby on Railsについて
近年、企業がRuby on Railsを多く取り入れている理由が、従来よりもスムーズ且つ効率的に開発できるからですね。
Rubyという開発言語が持つ世間のイメージは、簡潔なコードを利用して開発できるという点ではないでしょうか。
シンプルなコードを書けるRubyよりも、より効率的にシンプルなコードを書くことができるのがRuby on Railsなのです。
Rubyのフレームワーク自体をRuby on Railsと言います。
Ruby on Railsを理解する為には、Rubyの基本知識が必須となります。(Ruby on RailsがRubyにより開発されている為)
まとめ
いかがでしたでしょうか?
近年、求人サイトにもRuby on Rails案件が増えているので、Rubyエンジニアにとっては追い風が吹いている状況ですね。
どの企業もRubyエンジニアが不足していると言われています。
開発言語には多くの種類がありますが、今回はRubyのメリット・デメリットについて説明しました。
簡単なイメージを持って頂ければと思います。
学べる系シリーズは、積極的に紹介していきますので次回にご期待ください!