5 ポイント 投稿者 GN⁺ 2025-12-03 | 3件のコメント | WhatsAppで共有
  • 最初の言語の刷り込み効果がRubyへの独特な愛着を生み、多くの開発者は欠点を「個性」として受け入れている。
  • Rubyに遅れて触れると、華やかな見た目の下にある動的型付けの欠陥・足元を踏む地雷(footgun)・低速な性能がそのまま露見し、一世代前に取り残されたような印象が強く残る。
  • TwitterのFail WhaleやScalaへの移行、そして2010年代を通じたRuby脱出の流れは、この言語の性能限界をそのまま示している。
  • Railsはかつて一時代を彩ったが、今では統合された哲学がスケーラビリティの壁になり、ウェブの爆発的成長の中ではもう自然にフィットしなくなっている。
  • 現在Rubyを支えているのは、Railsのレガシーと初期に刷り込まれた開発者たちの感情的な忠誠心、そして美しい名前へのノスタルジーだけである。

プログラミング言語と「刷り込み」の力

  • 心理学で言う**刷り込み(imprinting)**は、プログラミングでも同様に機能する。 ヒナガモが最初に見た存在を親とみなすように、最初に学んだ言語が開発者の感覚を長く支配する。
  • Rubyはまさにその刷り込みの代表的な受益者である。 **「プログラミングが最初に自然に感じられる瞬間」**と結びつき、言語そのものへの愛着が深く残る。
  • 最初に学ぶと愛着が先行して欠陥が見えづらくなるが、遅れて学ぶとそのぼかし効果なしで実体だけが見えてくる。

Rubyの誕生と特徴

  • 1995年に大阪出身の開発者**松本行弘(Matz)**がRubyを作った。Rubyは西洋圏以外で生まれた唯一の主要プログラミング言語。
  • Matzの優しい性格から生まれたMINASWAN(Matz Is Nice And So We Are Nice)というコミュニティモットーが存在する。
  • セミコロンや括弧がなく簡潔な構文を備え、Pythonよりもわかりやすい英語のように読める。
  • 初心者に対してプログラミングが「分かる」瞬間を与える言語としてしばしば言及される。

Rubyを遅く学んだ時に露わになる本質

  • いくつもの言語を経てからRubyに入ると、期待した「優雅さ」より、時代遅れの脆さが先に立つ。
  • 美しく見えるようデザインされた構文の裏には、動的型付けの曖昧さと予測不能な挙動がそのまま残っている。
    • Rubyは動的型付け言語で、小規模プロジェクトでは柔軟だが、大規模構造ではエラーが実行時にしか明らかにならない問題が発生する。
  • PythonやJavaScriptはこれまで年を追って型ツールと静的解析エコシステムを強化して発展してきた(例: TypeScript、mypy など)。
    • Rubyにはこれに見合うツールが不足しており、「footgun」(自分の足を踏みつけるような機能)と呼ばれる危険要素に脆弱。
  • 小規模では穏やかに見えるが、システムが大きくなると実行時にしかエラーが顕在化しないリスクをそのまま抱え続ける。

Rubyの一貫した性能限界

  • 主要言語の性能比較では、Rubyはほぼ常に最下位クラスに留まっている。
  • Twitterの**Fail Whale(障害時に表示されるクジラ)**時代は、Rubyベースインフラの限界を象徴する出来事で、2010年ワールドカップで大規模障害が発生しその限界が明らかになった。
  • TwitterはScalaへ移行し、その後2014年ワールドカップ決勝で3,200万ツイートを問題なく処理し、新しいバックエンドは以前より最大100倍高速で動作した。
  • 2010年代を通じ、多くの企業がRubyインフラから離れ、残った部分の多くもレガシー的な維持である。

Rubyが失った領域

  • かつてRubyと競合していたPython・JavaScript・Perlは、それぞれより明確な領域を確保した。 PythonはAI・科学・教育市場を獲得し、JavaScriptはWeb全体を押さえた。 Perlは衰退しつつあるが、Rubyが代替する隙はなかった。
  • Rubyが単独で得意としていた領域が消えたため、現在は曖昧な中間地帯にとどまっている。

Railsという最後の支え

  • Rubyが現場で生き残る最大の理由は、Railsである。
  • Railsは2004年にDHHが公開して以来、Web 2.0時代をリードし、当時はWeb開発の全要素を統合された一つのビジョンの中に収めて提供した。
    • デンマークの開発者David Heinemeier Hansson(DHH)は、Matzと対照的に議論を呼ぶカリスマ性のある人物として知られている。
  • Web 2.0初期、Railsはデータベース・フロントエンド・バックエンドをオールインワンパッケージとして提供し、スタートアップで人気を集めた。
    • Airbnb、GitHub、Twitter、Shopify、Stripeなどの企業がRailsを基盤にして始動した。
  • しかし、ウェブの規模が爆発的に拡大するにつれ、Railsの統合型構造は逆にスケーラビリティの障壁として作用した。 フランク・ロイド・ライトのユソニアン・ハウスのように、最初は美しいが後に改修がほぼ不可能な構造になった。

Rubyの衰退と残る力

  • Stack Overflow 開発者調査でRubyは2013年のトップ10から2025年には18位まで低下し、Assemblyより後方へ押し下げられた。
  • 新規開発者はPythonとJavaScriptへ流れ、Rubyは過去の記憶を持つ一部の開発者の言語として残る。
  • 現在Rubyを支えているのは、Railsレガシーと、初期に刷り込まれた開発者たちの感情的な忠誠心、そして**「読みやすく美しい構文」への感情的イメージ**だけである。
  • しかし、感情だけで言語の地位を再び引き上げることはできず、現実はすでにRubyより速く、より安全で、よりスケーラブルなツールへ移行している。

3件のコメント

 
roxie 2025-12-03

根拠があまりにも乏しくて、戸惑うような文章ですね……

 
GN⁺ 2025-12-03
Hacker Newsの意見
  • 代替リンクは archive.is/O7rEl

  • 記事で示されている論拠が「気に入らない」、「動的型付けだから嫌いだ」、「Twitterが昔クラッシュした」、「遅い」、「Stack Overflowのアンケートで上位20位以内に入る程度」くらいで、かなり薄弱に感じる

    • 記事自体がクリックベイトであることは明らかだと思う。タイトルを見てもそうだし、冒頭数段落の「imprinting」の話がその証拠だ
      私の最初の言語はBASIC、2番目はZ80Aと6502向けのアセンブリ、3番目はPascalだった。だが、どの言語も私の好みを永遠に固定することはなかった
      むしろ大学時代、ある教授が「BASICを学んだ人は一生壊れたプログラマだ」と言っていたことこそが本当の形成的経験だった。そのとき「権威を持つ人でも偏見で他人をダメにしうる」と学んだ
      結局のところこの記事は、著者がどれだけ賢いかを誇示したい試みに見える。Steve Yeggeの文章のように面白く読めるかもしれないが、Yeggeは少なくとももっと多くを語っていた
    • Rubyが「真面目な言語ではない」という根拠はまったくない。著者はただRubyという名前が気に入らないと言っているだけだ
      もし彼の主張が正しかったなら、わざわざこんな攻撃的な文章を書く必要はなかったはずだ。Rubyで実際に多くの成果物が作られており、言語も進化し続けているという事実がその反証になっている
    • Bjarne Stroustrupの言う「人々が文句を言う言語と、誰も使わない言語の2種類しか存在しない」という引用を思い出す
    • しかも、誰かの性格に対する反感まで言語評価に反映されているようだ
  • 私も記事の内容に完全に反対するわけではないが、こうした基準ならPython、JS、C++のような大半の「プロ向け言語」にも同じ批判を書ける
    「コンピューティングは大衆文化だ」という言葉は今でも有効で、Wiredのような媒体にこういう記事が載ることがその証拠だ

  • 最後まで読んだが、Rubyを使うべきではない実質的な理由はなかった。
    内容はまるで数時間でChatGPTに作らせたようなジャーナリズムの失敗作に感じられた。おそらく著者が最初に触れたRubyのコードベースが、ことさらにひどかったのだろう

  • 昔はWiredが読む価値のある雑誌だった時代があった気がするが、もういつのことか思い出せない

    • 1995年ごろが最後だった気がする
  • Scalaへのリライトは、ビジネス的には良い判断ではなかったと思う。15年経った今、Scalaの人気はRubyよりずっと低い。今は何を使っているのかも分からない

  • これはただのペイウォール用クリックベイト記事に見える

  • おかげで、忘れていたWiredの購読を解約しなければと思い出した

    • その通り。AIが作ったお粗末な記事なら、ChatGPTでいつでも見られるからね