Ruby

開発者の生産性と楽しさを重視した、日本発のオブジェクト指向プログラミング言語

プログラミング言語Web開発
Ruby」の技術書を見る →

Ruby とは

Ruby は、まつもとゆきひろ (Matz) が 1995 年に公開した、日本発のオブジェクト指向プログラミング言語だ。「プログラマが楽しく、生産的に書けること」を設計思想に掲げ、人間にとっての読みやすさと書きやすさを重視している。Web アプリケーションフレームワークの Ruby on Rails とともに広く普及した。

版の刻み方には一貫した慣例がある。毎年 12 月 25 日に新しいマイナー版を出すもので、3.4.0 は 2024 年 12 月 25 日、4.0.0 は 2025 年 12 月 25 日に公開された。2026 年 8 月時点の安定版系列は 4.0 で、3.4 以前の系列も並行して修正版が出ている。バージョン選定では、この年 1 回の刻みと、各系列のサポートが順次終わる前提を見込んでおく。

特徴

Ruby は「すべてがオブジェクト」という一貫した設計を持ち、数値や nil さえもメソッドを持つ。動的型付けで記述が簡潔なうえ、ブロックと呼ばれる無名関数の仕組みにより、繰り返しや高階処理を直感的に書ける。柔軟なメタプログラミングも可能で、これが Rails の「設定より規約」を支える土台になっている。

Python との比較

観点RubyPython
主戦場Web アプリ (Rails)データ科学、AI、自動化
設計思想書く楽しさ、柔軟さ明示性、読みやすさ
文法の自由度高い (書き方が複数)低い (一つの正解を志向)

どちらも動的型付けのスクリプト言語だが、文化と得意領域が異なる。

実務での位置づけ

Ruby はスタートアップの Web 開発で長く支持され、Rails による高速な立ち上げが強みだ。実行速度については、処理系に組み込まれた JIT コンパイラが状況を変えつつある。4.0.0 の公式リリース情報では、次世代として位置づけられた新しい JIT (ZJIT) がインタプリタより速い段階に達したものの先行実装の YJIT にはまだ及ばず、本番運用に耐える状態は 4.1 を目標にすると説明されている。速度が要件なら、この種の機能が自分の処理内容で効くかを実測してから言語ごと入れ替えるかを決めたい。型については静的な型検査を言語仕様として持たないため、型情報を別に書く仕組みを併用するか、テストで担保する設計になる。

柔軟さは諸刃の剣だ。実行時にクラスやメソッドを書き換えられるため、標準ライブラリの挙動をライブラリ側が黙って変えると、呼び出し側のコードを読んでも原因が分からない不具合になる。4.0.0 では、こうした書き換えの影響範囲を区切る実験的な仕組みも導入された。日常の開発では、規約から外れた書き方を避け、わかりやすさを優先する規律が品質を保つ鍵になる。

使いこなしの勘所

Ruby らしさが最も出るのはブロックだ。File.open にブロックを渡すと、処理が終わった時点で処理系がファイルを閉じる。例外が出て途中で抜けた場合も閉じられるため、後始末の書き忘れが構造的に起きない。

File.open('data.txt', 'w') do |f|
  f.puts 'line'
end   # ブロックを抜けた時点で閉じられる

同じことを openclose の対で書くと、間に例外が入った経路で閉じ漏れが生じる。繰り返し処理でも eachmap にブロックを渡す形が基本で、添字を自分で回す書き方はほぼ使わない。この「後始末や反復を呼び出される側に任せる」書き味に慣れることが、Ruby を読めるようになる最短経路になる。

この記事は役に立ちましたか?

関連用語

関連する記事