Ruby は、まつもとゆきひろ氏によって日本で生まれたプログラミング言語です。 「書いていて気持ちがよいこと」を明確に設計目標に置いている点が、他の言語と大きく違います。
書き心地を優先した言語
Ruby は同じことを何通りにも書けます。if を後ろに置ける、括弧を省ける、メソッド名に ? や ! を使える——こうした自由度が、読みやすい記述を可能にしています。
反面、チームで書き方を揃えないと読みにくくなるという代償があります。書き手の好みがそのままコードに出るので、規約と自動整形(RuboCop など)の導入が実務ではほぼ必須です。
メタプログラミングという諸刃の剣
Ruby は実行時にメソッドを定義したり、存在しないメソッド呼び出しを横取りしたりできます。Ruby on Rails の「書いていないのに動く」感覚は、この仕組みで作られています。
便利ですが、定義を検索しても見つからないコードが生まれます。「このメソッドはどこで定義されているのか」が追えないとき、まずメタプログラミングを疑ってください。ライブラリを読むときの難易度が上がる主因でもあります。
Rails と切り離せない現実
Ruby の求人・案件はほぼ Rails 案件です。言語としては汎用ですが、実務での使われ方は Web に強く寄っています。「Ruby を学ぶ」はほぼ「Rails を学ぶ」と理解しておくと、学習の順番を間違えません。
押さえておきたい注意点
Python と比較されることが多い言語ですが、用途の分岐がはっきりしています。データ分析・機械学習まわりのライブラリ資産は Python が圧倒的で、Ruby はそこを取りに行っていません。逆に Web アプリを素早く立ち上げる領域では Rails の完成度が高く、選ぶ理由が明確です。
実務で見るポイント
- 依存管理は Bundler と
Gemfileが標準 - バージョンアップは Rails 側の対応状況とセットで計画する
- 少人数で速く立ち上げる案件と相性がよい