2026年4月、Noah Mitchem が Medium に投稿した「If AI Writes Your Code, Why Use Python?」という記事が Hacker News で話題になった。150近いコメントが寄せられ、現在も議論が続いている。

この記事では、その議論をベースに「AI時代のプログラミング言語選択」を考察する。

問題の整理:なぜPythonなのかという問い

従来のプログラミング言語選択において、Python と TypeScript は「人間の生産性」という軸で優位に立ってきた。書きやすく、ライブラリが豊富で、チームの生産性を最大化できる。C++ や Rust のような「ハードな言語」は実行性能は高いが、開発速度が犠牲になる——これが長年のトレードオフだった。

しかし、AI コーディングエージェントがこのトレードオフを根本から変えつつある。AI は Rust や Go のような強力な型システムを持つ言語で、むしろ高い品質のコードを生成する。そして、そのコードはコンパイル時に多くのバグを検出できる。

つまり、「書く」コストがAIによって劇的に下がった今、「実行する」コストが再び重視されている

2026年前半に実際に起きたこと

抽象論ではなく、具体的なプロジェクトを見てみよう。

プロジェクト 言語移行 成果
TypeScript 7.0 beta(Microsoft) TSコンパイラを Go に移植 TypeScript 6.0比で約10倍の高速化
Rue(Steve Klabnik) Claudeで新言語を開発 7万行のRustを2週間で実装
Ladybird JSエンジン(Andreas Kling) C++ → Rust(Claude/Codex) 2.5万行、バイト単位の互換性、ゼロリグレッション
Cコンパイラ in Rust(Nicholas Carlini/Anthropic) 16並列のClaudeエージェント 10万行のRust、Linux 6.9をx86/ARM/RISC-Vでブート
PyTorch 依然Python優勢 深層学習研究の約85%を占有

Anthropic の Nicholas Carlini による C コンパイラの事例は特に衝撃的だ。16の Claude エージェントを並列動作させ、10万行の Rust コードを生成。x86、ARM、RISC-V の3アーキテクチャで Linux 6.9 をブートし、QEMU、FFmpeg、SQLite、PostgreSQL、Redis のコンパイルに成功。総コストは約2万ドル、約2,000セッションだった。

Twitter での反応も興味深い:

「2026年、Rustを選ぶ最良の理由はメモリ安全性でもパフォーマンスでもない。AIがC++よりRustの方が上手いコードを書くからだ。コンパイラのフィードバックループが非常にタイトで、モデルがリアルタイムで自己修正する。」— @CtrlAltDwayne

エコシステムの現実:PythonはRustのラッパーになりつつある

皮肉なことに、Python のエコシステムそのものが Rust に依存し始めている:

  • pydantic → コアは Rust(pydantic-core)
  • polars → Rust ネイティブ
  • orjson → Rust
  • Hugging Face tokenizers → Rust
  • ruff / uv(Astral)→ Rust

JetBrains の2025年開発者調査によると、Rust バイナリ拡張の使用率は27%から33%に上昇した。OpenAI は2026年3月に Astral(ruff, uv, ty の開発元)を買収。内部の正当化理由は「uv が Codex のコンピュート時間を週100万分削減する」というものだった。Anthropic も Bun(Rust製)を「AI主導開発に不可欠なインフラ」として買収している。

しかし、話は単純ではない

Hacker News の議論では、複数のコメンターが重要な反論を投げかけている。

検証が最大のボトルネック

最も多くの支持を集めた意見は「コード生成よりも検証が難しい」というものだ。

「LLM生成コードの未来で最も難しいのは検証ステップだ。最適な言語とは、人間がバグや設計ミスを最も検出しやすい言語だろう。」— Terr_

静的型付けやコンパイル時チェックは、LLMが生成したコードの正当性を機械的に検証する手段として極めて重要だ。型のない Python では、テストが全てパスしていても本番で壊れるコードをAIが生成するリスクが常につきまとう。

AIの品質は言語によって異なる

あるコメンターが引用した arXiv 論文によると、Rust でのコード生成精度は Python より平均2%低い。モデルによってばらつきがあり、Go のほうがより良い上限を持つケースもある。この差は、大規模リファクタリングでは無視できない。

Prismaの逆走事例

注目すべきカウンターケースとして、Prisma が Rust クエリエンジンを廃止し、TypeScript/WASM に戻した事例がある。バンドルサイズは85%削減、クエリは最大3.4倍高速化した。ネイティブ Rust バイナリはサーバーレス環境に適さないという判断だ。

では、どう選ぶべきか

Hacker News の議論と実際のプロジェクト事例から導ける結論は以下の通り:

Python を選ぶべきケース

  • データサイエンス / ML / 深層学習:PyTorch エコシステムは依然として圧倒的
  • プロトタイピングと探索的分析:コンパイル不要の迅速なイテレーション
  • ローカル/小規模モデルでの AI アシスト:Python は最も学習データが多い
  • チーム全員が Python に習熟している場合:レビューの質を最優先するなら

Rust / Go を検討すべきケース

  • 本番パフォーマンスが要求される処理
  • サーバーレス・エッジ環境での実行
  • AIに大規模リファクタリングを任せる場合:コンパイラが安全網になる
  • 新規プロジェクトの立ち上げ:AIが翻訳者になるので学習コストが激減

興味深い第三の道:ハイブリッド

TypeScript 7.0 の事例が示すように、Go は「Rust ほどの学習曲線を必要とせず、Python 以上の実行性能を持つ」バランス点として注目されている。Microsoft は TypeScript コンパイラの移植先として Rust ではなく Go を選んだ。Go のシンプルな言語設計は AI が生成するコードの品質も安定している。

まとめ:言語選択のパラダイムシフト

Andrej Karpathy が2026年2月に X で述べている:

「LLMはソフトウェア全体の制約条件を完全に変えてしまった。Rust でさえ、まだその影響を十分に受け止めきれていない。」

言語選択の基準は「人間が書きやすいか」から「人間が検証しやすいか」「AI が生成しやすいか」に移行しつつある。強い型システム、コンパイル時チェック、明確なエラーメッセージ——これらは AI 時代のプログラミング言語にとって「あればいい機能」ではなく「必須要件」になりつつある。

Python が死ぬわけではない。しかし「とりあえず Python」という時代は終わりつつある。少なくとも、その選択はもはやデフォルトではなく、明確な理由を持って行うべきものになった。


この記事はAIによって生成され、人間の編集を経て公開されています。 Appwright AI は AI によるコンテンツ制作の可能性を探求する実験的プロジェクトです。