言語戦争は終わった—あなたの知らないところで地殻変動が起きた

Dev.to / 2026/5/12

💬 オピニオンSignals & Early TrendsIdeas & Deep AnalysisTools & Practical UsageIndustry & Market Moves

要点

  • 2025年8月、TypeScriptがGitHub上で最も使われる言語として初めてPythonとJavaScriptを上回り、開発者が「TypeScriptが勝った」と決めたからではなく、AIのコーディング支援がよりうまく機能するために広がったと述べられている。
  • 言語を巡る長期の「戦争」(Python vs JavaScript、Rustの主張の強さ、C++文化など)は本質的には“所属”や“アイデンティティ”に関するものだったが、新たな制約が生まれたことで争いが終わった、という主張が展開される。
  • 言語選びに代わって、LLMに関する現実的な制約——トークン量(文脈保持の限界)やコンテキストウィンドウ、そしてエージェントが推測しないためのプロンプト規律——が主要な差別化要因になっているとする。
  • ゲートキーピング(ふるい分け)は消えたのではなく、「文脈予算(context budget)」を扱えるかへと移動し、構造化された指示やエージェントのメモリ管理ができる開発者の方が一貫して高品質な成果を出せる、と論じられている。
  • このスキルは現時点でブートキャンプでも体系化されておらず、求人票にも十分に反映されていないため、AIエージェント時代に“実際に成果を左右する条件”と“採用基準の現状”のギャップがあることを示唆している。

私は、誰がどの言語を使っているかを気にしなくなった。いつの間にか—過去18か月のどこかで—それが私の意思とは無関係に起きた。

より良い人になったからではない。議論が、もはや重要でなくなったからだ。

2025年8月、TypeScriptは史上初めて、GitHubで最も使われている言語としてPythonとJavaScriptの両方を上回った。開発者が集まって「TypeScriptが勝った」と決めたからではない。AIツールのほうがそれをうまく扱えるので、広まった。議論は解決しなかった。議論の下にある地盤がずれて、多くの人はまだ古い地図の上で戦っている。

すでに終わっていた戦争

「Python 対 JavaScript」という議論は10年続いた。Rustの布教活動は一種のキャラクター性になった。C++のベテランたちは誰を見ても見下していた。戦いは本当はシンタックスの話ではなかった—それは「帰属」の話だった。誰が自分を本当の開発者だと言えるのか。誰が面接でふるい落とされるのか。誰がアーキテクチャ会議で真剣に受け止められるのか。

その議論は終わった。

誰かが勝ったからではない。別の何かが制約になったからだ。

それに代わって起きたこと

新しい制約は、言語的なものではない。トークン—モデルが「今組み立てているもの」を忘れ始めるまでに、1セッションで保持できる文脈の量。コンテキストウィンドウ—エージェントが一度に実際に見られるコードベースの量。プロンプトの規律—エージェントが推測で埋めないほど指示が厳密かどうか。これらは3つ。どれも、まだ職務記述書に書かれていない。

誰もこの変化に投票していない。発表もなかった。ただ、Rustを学ぶ価値があるのかどうかで言い争っている間に、いつのまにかそれが事実になった。

今、安定して出荷する開発者は、シンタックスを一番たくさん知っている人ではない。エージェントが要件をハルシネーションしないように仕様をきちんと組み立てられる人だ。セッションをまたいでもアーキテクチャ上の一貫性を失わずにコンテキストウィンドウを管理できる人だ。そして、本番に到達する前に、モデルが自信満々に間違えた点を見つけられる人だ。
私は自分自身の実運用のAIエージェントと、実ブラウザの自動化ワークフローで、このことをかなり集中的に実験してきた。

これは別種のスキルだ。まだどのブートキャンプも教えていない。ほとんどの求人票にも載っていない。

門は消えなかった。移動しただけだ

言語を理由にした締め出しは、文法の好みによって人を排除していた。ポインタを知らない?本物のプログラマじゃない。PHPを使ってる?恥ずかしい。フレームワークで学んで、最初からではない?近道だ。

新しい締め出しは、より静かだ。あなたはもはや、その言語のせいで排除されない。

排除されるのは、あなたのコンテキスト予算のせいだ。

トークン制限は、技術的な問題の顔をした課金の問題だ。だが、プロンプトをどう構成するか、エージェントのメモリをどう扱うか、長い複数ステップのワークフローを通してどう一貫性を保つか—こうした知識は積み重なって効いてくる。これができる開発者は、できない開発者よりも圧倒的に質の高い出力を生み出す。ギャップは現実のものだし、複雑になるほど広がる。

同じ排除メカニズム。別の見た目。目に見えにくい分、名づけにくく、反論もしにくい。

昔の締め出しは、少なくとも何をふるい落としていたのかについて正直だった。新しいそれは、生産性の違いのように見える。

変わらないもの

すべてが移ったわけではない。

あなた自身は、まだそこにいる。

本当に重要なもの—判断、説明責任、自信満々な答えが間違っていると見抜くこと—これらは地形が変わっても変わらない。生成が安くなるほど、これらはさらに重要になる。

Claudeで数か月コードを書いて、その内容を公に書き残したボブおじさん(Uncle Bob Martin)は気づいたことがある。Claudeはより速くコーディングし、より多くの詳細を保持するが、大局を保持できない。自分が作り出している災害を予見できない。誰かがそれを見なければならない。誰かが、コンパイルできるかどうかだけでなく「これで正しいのか」を確かめてスピードを落とさなければならない。

しかし、能力の目印が変わった。代理が入れ替わった。新しい代理は、古い代理よりも偽装しにくい。

シンタックスを暗記することはできる。言語トリビアのホワイトボード面接に通ることもできる。だが、7ステップ目でコンテキストが崩れ落ちるような10ステップのエージェントワークフローを構成できることを、知っているふりで偽ることはできない。また、エージェントに、解釈が5通りにも分かれてしまうような曖昧なものではなく「実際に作業できる」材料を与える仕様を書くことを偽ることもできない。
これがまさに、Cloudflare上で監視なしに動く私自身のSEO自動化エージェントを作った理由だ。

昔の門は、あなたが暗記してきたものが何かが基準だった。新しいそれは、あなたがどう考えるかが基準だ。

まだ解決していない部分

新しい門が、古い門よりも良いのかどうかはわからない。

昔の締め出しは、コード品質を守るというより、社会的な階層をより多く保護していた。CSの学位、ホワイトボード面接、経験年数の要件—それらがアクセスを制御していた。誰が自分を本物のエンジニアと呼べるのかを決めていた。そしてそのアーキテクチャは、品質の話では本当になかった。

新しい制約は、少なくとも「何か実在するもの」についてのものだ。コンテキスト規律、プロンプトの構造、検証の習慣—これらは実際の出力の違いを生む。ふるいは、より恣意的ではない。

しかし「より恣意的でない」ことは「公平」と同じではない。トークン予算はお金がかかる。API上限が$20のラゴスの開発者と、プランが$200のサンフランシスコの開発者は、同じ環境で動いていない。新しい制約は技術的であると同時に財務的でもある。これは偶然ではない—単に、昔の階層が別の服を着ているだけだ。

私たちは何年も言語について議論してきた。今、その議論は「どれだけうまく指示を出せるか」になった。

それが明らかに悪いとは限らない。ただ違うだけだ。

そして、私たちはまだ決めていない。新しい門が古い門より良いのか、それとも単に見えにくくなっただけなのか。