Rubyの特徴
- スクリプト言語である
プログラミング言語には、「コンパイラ言語」「スクリプト言語」などの種類がある。
人間が書いたコードを機械が実行するには「翻訳」を行う必要があり、コンパイラ言語の場合は事前に全て翻訳される。
スクリプト言語は随時翻訳しつつ実行される
この違いにより。スクリプト言語であるRubyはコンパイルが必要無いため、開発しやすい反面、実行速度は遅めである。
- オブジェクト指向言語である
Rubyはスクリプト言語ではあるが最初からオブジェクト指向の言語として開発されたため、変更に強く、再利用しやすいコードが書きやすくなっている
- 生産性が高い
上記の理由から、Rubyはコードの記述量が少なく済んだり、コンパイルの時間がかからないなど生産性が高いという特徴がある。
Railsの特徴
-
言語としてRubyを使用しているため、比較的習得しやすい
-
習得したスキルを広く活用出来る
言語によっては、使われているフレームワークが多数ある。例えばPHPを学んでも、それとは別に様々なフレームワークについて学ぶ必要があるが、Rubyに関してはRailsがほぼ一択であるため、一度習得すると幅広く活用することが出来る -
開発を効率化する仕組みが多数用意されているため、生産性が高い
Railsにはアプリの雛形を作成出来たり、SQL操作が出来るなど、開発効率を高めてくれる仕組みが標準で組み込まれている。
2026年3月 追記(最新情報)
この記事は2019年12月に投稿されました。以下に2026年3月時点の最新情報を追記します。
Rubyの最新状況
- 最新バージョン: Ruby 3.4系が安定版として広く利用されています(Ruby 3.3以降でYJITが大幅改善)
- パフォーマンス: Ruby 3.x 系でRactor(並行処理)、パターンマッチング、型注釈(RBS)が導入され、実行速度は記事執筆時と比較して大幅に改善しています
- 補足: 「スクリプト言語は実行速度が遅い」という点は、JIT(Just-In-Time)コンパイルの導入により緩和されています
Railsの最新状況
- 最新バージョン: Rails 8(2024年11月リリース)。Rails 7でHotwire/Turboが導入され、Rails 8ではKamal 2によるデプロイや組み込み認証ジェネレーターが標準化されました
- フロントエンド: jQuery → Hotwire/Turbo/Stimulus が標準フロントエンドスタックに
-
認証: Devise一択 → Rails 8組み込み認証(
rails generate authentication)も選択肢に - デプロイ: Capistrano → Kamal 2 がRails 8の新標準デプロイツール
- JSバンドリング: Webpacker(廃止) → importmap-rails / jsbundling-rails
- フレームワーク: 「Railsがほぼ一択」という状況は変わりませんが、API専用の場合はHanamiやSinatraも選択肢に含まれるようになっています