Ruby るびー
簡単に言うとこんな感じ!
Rubyは日本人が作ったプログラミング言語で、「書いてて楽しい・読みやすい」を最優先に設計されているんだ!ウェブサービスを素早く作れる「Ruby on Rails」というフレームワークと一緒によく使われて、スタートアップの開発に大人気だよ!
Rubyとは
Rubyは、1995年に日本人プログラマーのまつもとゆきひろ(Matz)氏が公開したプログラミング言語です。設計の根本にある哲学は「プログラマーの幸福度(Joy of Programming)」であり、コードを書くこと自体が楽しくなるよう、文法の自然さと表現の柔軟性が徹底的に追求されています。
Rubyはオブジェクト指向言語の一種で、数値や文字列を含むあらゆるデータが「オブジェクト(モノ)」として扱われます。また事前に変数の型を宣言する必要がない動的型付けを採用しており、少ないコード量でやりたいことを素早く書ける点が特徴です。特に2000年代中盤以降、Webアプリケーション開発フレームワーク「Ruby on Rails」の登場により世界中に普及し、TwitterやGitHubの初期開発にも使われたことで知名度が一気に高まりました。
Rubyの特徴と構造
| 特徴 | 説明 |
|---|---|
| 完全オブジェクト指向 | 数値・文字列・nilなど、すべてがオブジェクト |
| 動的型付け | 変数の型宣言が不要。実行時に型が決まる |
| 柔軟な文法 | 英語に近い自然な記述が可能。括弧を省略できる場面も多い |
| Gem(ライブラリ) | RubyGemsという仕組みで世界中の部品を簡単に追加できる |
| ブロック・イテレータ | 繰り返し処理などを簡潔に書けるRuby独自の書き方 |
| マルチプラットフォーム | Windows・macOS・Linuxで動作 |
覚え方:「宝石=美しさへのこだわり」
Ruby(ルビー)は赤い宝石の名前。「美しいコードを書きたい」という作者のこだわりがそのまま言語名に込められています。「宝石みたいに輝くコードを書こう」と覚えると、設計思想ごと頭に入ります。
他言語との比較
| 比較項目 | Ruby | Python | PHP |
|---|---|---|---|
| 設計思想 | 楽しさ・エレガンス | 読みやすさ・シンプル | Webの手軽さ |
| 主な用途 | Webアプリ・スクリプト | AI・データ分析・Web | Web全般 |
| 国産か | ✅ 日本製 | ❌ オランダ | ❌ デンマーク |
| 学習コスト | 低〜中 | 低 | 低 |
| 代表的FW | Ruby on Rails | Django / Flask | Laravel |
歴史と背景
- 1993年 まつもとゆきひろ氏が開発開始。「PerlとSmalltalkのいいとこどり」を目指す
- 1995年 Ruby 1.0 公開。当初は日本国内のみで普及
- 2000年代前半 英語ドキュメントの整備が進み、海外にも広がり始める
- 2004年 David Heinemeier Hansson(DHH)がRuby on Railsを公開。Webアプリをわずか数分で骨格まで作れるとして世界に衝撃を与える
- 2006年 Twitter・GitHub・Shopifyなどが Ruby on Rails を採用。スタートアップの定番技術に
- 2007年 Ruby 1.9 リリース。パフォーマンスが大幅向上
- 2013年 Ruby 2.0 リリース。モジュール機能やキーワード引数などが強化
- 2020年 Ruby 3.0 リリース。処理速度「3倍高速化(Ruby 3x3)」目標を達成。静的型チェックツール「Steep」「RBS」も導入
- 現在 バージョン3.x系が主流。JIT(実行時コンパイル)による高速化も継続中
Rubyとよく使われる技術
Rubyは単体でも使えますが、実務では「Ruby on Rails(通称: Rails)」というWebフレームワークとセットで使われるケースがほとんどです。
Ruby on Railsが発注・選定上のポイントになる理由
Railsは「設定より規約(Convention over Configuration)」という思想で設計されており、開発チームが決め事に費やす時間を最小化します。結果として開発スピードが速く、エンジニアの採用市場でも人材が比較的見つけやすいというメリットがあります。一方、大規模・高トラフィックなシステムではパフォーマンスチューニングが必要になるケースもあり、要件に応じた選定が必要です。
関連する規格・RFC
※ Rubyはオープンソース言語であり、IETFやISOの直接的な規格管理外ですが、ISO規格が存在します。
| 規格番号 | 内容 |
|---|---|
| ISO/IEC 30170:2012 | Rubyプログラミング言語の国際標準規格(Ruby 1.8ベース) |