7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

育休明けの浦島太郎が見た、Ruby文化が作った“今の当たり前”

Last updated at Posted at 2025-03-26

Ruby発の文化が、今のReact/Next/TypeScript界隈にまで影響を与えている話

Rubyが流行した時期(特に2000年代後半から2010年代前半)は、技術的にも文化的にも多くの革新がありました。
しかし、私はちょうどその頃育休中で、2008年から2018年くらいの間、全くキャッチアップをしていませんでした。
少しずつ復帰したときに、あまりの浦島太郎状態で驚いたことを覚えています。
Rubyそのものだけでなく、Ruby on Railsのエコシステムやコミュニティが育んだ考え方・文化が、Ruby以外の言語やフレームワークでも「あたりまえ」として受け入れられていたのです。

今でも受け継がれている思想として、以下に代表的なものを挙げます。

1. 開発者体験(DX)重視の文化

RubyやRailsは、開発者が「楽しく、直感的に」開発できることを重視しました。
たとえば:

  • DSL(ドメイン固有言語)の多用(例:routes.rb, Capistrano, RSpec など)
  • コマンド一発で環境構築やスキャフォールディング(例:rails new, rails generate scaffold

→ 今では多くのフレームワーク(Django, Laravel, Next.jsなど)でも、「開発者の幸福度」が重要なKPIになっています。

用語補足:

  • DX(Developer Experience):開発者体験。開発が快適かどうかという観点。
  • DSL(Domain Specific Language):特定の目的のために設計された専用言語。Railsの設定やRSpecの記法がこれ。
  • スキャフォールディング(Scaffolding):ソフトウェア開発においてプロジェクトの骨組みやテンプレートを自動生成する手法
  • KPI:中間目標(を表す指標)

2. Convention over Configuration(設定より規約)

Railsで有名になったこの考え方。

  • app/models, app/controllers のようなお決まりの構造
  • ファイル名やクラス名で、ある程度の動作が決まる(= 設定しなくていい)

用語補足:

  • Convention over Configuration:「設定より規約」。設定を書かなくても、ルール(規約)に従えばうまく動く思想。

→ この考えは、今の多くのフレームワーク、ツール(例:Next.js, Spring Boot)に影響を与えています。

3. テスト文化(特にBDD)

RSpecの登場により、「人間の言葉に近いテストを書く」という流れが生まれました。

  • describe, it, context などを使って、仕様のようにテストを書く
  • Red → Green → Refactor のTDDが流行
  • FactoryBotFaker のような便利ツールの普及

用語補足:

  • BDD(Behavior Driven Development):振る舞い駆動開発。「こう動くべき」という仕様をそのままテストにする手法。
  • TDD(Test Driven Development):テスト駆動開発。テストを書いてから実装する流れ。
  • FactoryBot:テスト用のダミーデータを簡単に作れるツール。
  • Faker:名前や住所など、ランダムなデータを生成するライブラリ。

→ 今ではJavaScriptやPythonなど、他の言語にもRSpec風のライブラリ(Jest, Pytestなど)が影響を受けています。

4. コミュニティ主導の開発文化

Rubyのコミュニティは非常にオープンでフレンドリー。

  • オープンソースに貢献しやすい空気
  • Kaigi文化(RubyKaigiのような、開かれた技術イベント)
  • コミュニティドリブンなGem(ライブラリ)エコシステム

用語補足:

  • Kaigi文化:「○○Kaigi」という名前で開催されるエンジニア主導の技術カンファレンス(例:RubyKaigi, ReactKaigiなど)。
  • Gem:Rubyのパッケージ。npmでいうところのパッケージに相当。

→ OSS文化や、エンジニア同士の協力・共有を当たり前とする価値観の広まりに貢献しました。

5. CLIツール文化

RailsやBundlerなど、Ruby由来のツールはCLI(コマンドラインインターフェース)がよく設計されており、CLI操作を自然なものとして普及させました。

  • rails console, bundle install, rake など
  • 開発に必要なことがCLIから完結する

用語補足:

  • CLI(Command Line Interface):コマンドライン上で操作するUIのこと。GUIよりもスピーディかつ柔軟。

→ 今の多くのモダンツール(npm, yarn, docker, terraformなど)も、CLIベースでの統一感を持っています。

6. シンプルで読みやすいコードの美学

Rubyは「人が読むための言語」と言われることもあります。

  • unless, until, :symbol, do...end など、文芸的なコード表現
  • メタプログラミングの力を「読みやすさ」に生かす文化

→ 可読性の重視や、コードレビュー文化の重要性にもつながっています。

まとめ

Rubyそのものを使っていなくても、私たちは今、Rubyが作った文化の上で開発しているとも言えます。

  • 「開発しやすい」が重視されること
  • テストが自然に書けること
  • CLIツールを使いこなすこと
  • OSSやコミュニティに貢献すること

こういった考え方は、React / Next.js / TypeScript界隈にも色濃く影響を与えていると感じます。

私のようにRubyに触れたことがない方も、少しその文化に目を向けてみると、今の開発がもっと楽しくなるかもしれません。

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?