2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

番外編:開発技術のパラダイムシフト②

2
Posted at

番外編②:Ruby on Railsの衝撃

〜世界中が恋に落ちた「爆速」フレームワークとWeb 2.0〜

導入:スパゲッティとXMLの地獄

番外編①で、フロントエンド(画面側)の開発が「jQuery」によって劇的に簡単になった歴史を振り返りました。
では同時期、裏側で動くバックエンド(サーバー側)の開発現場はどうだったのでしょうか?

2000年代中盤のバックエンドは、主に2つの「地獄」のどちらかに分類されていました。

  1. PHPのスパゲッティ地獄: HTMLのタグの中に直接 <?php ... ?> とデータベースを操作するプログラムを書き殴るスタイル。手軽ですが、機能が増えるとコードが絡み合い、どこを直せばいいか分からない「スパゲッティ状態」になりがちでした。
  2. Java(J2EE)のXML地獄: 企業向けの堅牢なシステムを作るための言語でしたが、とにかく重厚長大。「画面にHelloと出すだけで、大量のXML(設定ファイル)を書かなければならない」という、非常に窮屈で面倒な作業を強いられていました。

「もっと楽しく、もっと直感的に、もっと速くWebサービスを作れないのか?」
そんなエンジニアたちの悲鳴に応えるように、2004年、デンマークの若きプログラマーから**「革命の火種」**が投げ込まれました。


1. 伝説の「15分で作るブログ」デモ

革命の火種の名は、「Ruby on Rails(ルビー・オン・レイルズ)」
開発者のデイヴィッド・ハイネマイヤー・ハンソン(通称DHH)は、この新しいフレームワークの威力を証明するために、1本の短い動画(スクリーンキャスト)をネットに公開しました。

「今から15分で、データベース付きのブログシステムを作ってみせよう」

当時の常識では、ブログの根幹システム(記事の一覧表示、新規作成、編集、削除機能)をゼロから作るには、どんなに優秀なプログラマーでも数日はかかる大仕事でした。

しかしDHHは、黒い画面(ターミナル)にたった数行の魔法のコマンド(rails generate scaffold)を打ち込んだだけでした。
するとどうでしょう。瞬く間にデータベースの設計図が作られ、画面のHTMLが自動生成され、あっという間に動くブログが完成してしまったのです。本当に、たったの15分で。

「うそだろ……!? 魔法か?」
この動画を見た世界中のエンジニアは衝撃を受け、夜を徹してRailsをインストールし始めました。


2. 魔法を支えた「2つの強烈な哲学」

Railsがただの「自動生成ツール」で終わらず、世界を制覇した理由は、その根底にある 「強烈でブレない哲学」 にありました。

① 設定より規約(Convention over Configuration)

当時のJavaなどが「どんな細かい設定も、開発者がXMLファイルに全部書く」という方針だったのに対し、Railsは 「俺の決めたルール(規約)に従え。そうすれば設定ファイルなんて1行も書かなくていい」 という態度をとりました。

例えば、「データベースのテーブル名が users(複数形)なら、それを扱うプログラムの名前は User(単数形)にする」というルールです。これに従うだけで、Railsが裏側で空気を読んで勝手にデータベースと接続してくれます。
開発者は「退屈な設定ファイル」から解放され、「どんなサービスを作るか」という創造的な作業にだけ集中できるようになりました。

② 同じことを繰り返さない(DRY:Don't Repeat Yourself)

「システムの中で、同じ意味のコードを2カ所以上に書いてはいけない」という哲学です。
データベースの構造を変えれば、画面の入力フォームにも自動でそれが反映される。変更箇所は常に「1カ所だけ」という美しい構造(MVCアーキテクチャ)を、誰もが簡単に実現できるようになりました。


3. 日本の天才が生んだ「Ruby」との幸福な結婚

そして、この「爆速フレームワーク」を語る上で絶対に外せないのが、ベースとなっているプログラミング言語 「Ruby(ルビー)」 の存在です。

Rubyは、日本の天才プログラマー・まつもとゆきひろ(Matz)氏が1995年に生み出した言語です。
その最大のコンセプトは 「プログラマーが楽しくプログラミングできること(Developer Happiness)」
英語の文章を読むような感覚で自然に書ける、非常に美しく柔軟な言語でした。

Railsの開発者DHHは、このRubyという言語に惚れ込んでいました。
Rubyの「柔軟で美しい表現力」があったからこそ、Railsの「魔法のような短いコード」が実現できたのです。日本のエンジニアたちにとって、自分たちの国で生まれた言語が世界を席巻していく姿は、この上ない誇りと熱狂をもたらしました。


4. Web 2.0と「スタートアップ」の幕開け

2000年代後半、時代はまさに「Web 2.0」の真っ只中でした。
AjaxによってリッチになったWebブラウザ。そして「誰もが発信者になれる」ソーシャルメディアの台頭。

世界中で「こんなWebサービスを作りたい!」というアイデアを持った若者たち(スタートアップ企業)が次々と立ち上がっていました。彼らにはお金も時間もありません。必要なのは 「アイデアを最速で形にして、世に出すスピード」 でした。

そこに、Railsの「爆速」が完璧にハマったのです。

  • Twitter: 初期のプロトタイプはRailsで爆速で作られ、リリースされました(※後にアクセス規模が巨大化し、一部は別の言語に移行しましたが、立ち上げ期の原動力は間違いなくRailsでした)
  • GitHub / Shopify / Airbnb: これら現在何兆円もの価値を持つ世界的サービスも、Railsから産声を上げました
  • クックパッド / 食べログ: 日本でも、名だたる巨大WebサービスがRailsを採用し、現在でもそのシステムの中核として動き続けています

「数ヶ月」かかっていた開発を「数週間」に、「数週間」を「数日」に短縮したRails。
それは単なる技術的なフレームワークではなく、「持たざる者が、アイデアとコードだけで世界を変えられる(起業できる)」という、スタートアップの夢を後押しした最強の武器だったのです。

おわりに:バックエンドに「楽しさ」を取り戻した功労者

現在では、Python(Django)やPHP(Laravel)、Node.jsなど、他の言語にもRailsの影響を色濃く受けた優秀なフレームワークが多数存在します。

しかし、バックエンド開発が「設定ファイルを書く退屈な仕事」だった時代に、「プログラミングはこんなにも楽しく、美しいものなんだ」と世界中のエンジニアに思い出させたRailsの功績は、ITの歴史に永遠と刻まれるでしょう。


📚 参考文献・出典

本記事で紹介したエピソードや哲学は、以下の公式情報や歴史的資料に基づいています。

  1. DHHによる伝説のスクリーンキャスト(2005年)
    • "How to build a blog in 15 minutes with Ruby on Rails":
      • Railsの生みの親であるDHH自身が、ゼロからブログシステムを15分で構築してみせた歴史的な動画
        現在でもYouTubeなどでアーカイブを視聴することができます(検索キーワード: Ruby on Rails 15 minute blog
      • 15 minute blog
  2. Ruby on Rails の哲学(The Rails Doctrine)
    • Ruby on Rails 公式サイト:
      • 「プログラマーの幸福の最適化(Optimize for programmer happiness)」や「設定より規約(Convention over Configuration)」など、Railsを貫く重要な思想がまとめられた公式ドキュメントです
      • The Rails Doctrine - Ruby on Rails
  3. プログラミング言語「Ruby」とまつもとゆきひろ氏
    • Ruby 公式サイト:
      • 日本発のオブジェクト指向スクリプト言語Rubyの公式サイト
        Matz(まつもとゆきひろ)氏が「ストレスなくプログラミングを楽しむこと」を目的に開発した経緯が記載されています
      • オブジェクト指向スクリプト言語 Ruby

🤖 執筆協力
本記事の構成案作成および推敲には、生成AIのアシストを活用しています。


次回予告(番外編③)

バックエンドではRailsが爆速でサービスを生み出し、フロントエンドではjQueryがリッチな動きをつけていました。Web開発はまさに「黄金期」を迎えたかに見えました。

しかし、ジョブズが放った「iPhone」という黒船によって、Webデザイナーたちは新たな地獄に突き落とされます。
「PC用の画面と、スマホ用の画面……。別々に作るのはもう限界だ!」

次回、番外編③。
「Bootstrapの救済 〜迫り来る『スマホ対応』の地獄と、グリッドシステムの恩恵〜」

2
0
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
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?