【衝撃】40年C言語を書いた神プログラマがもう書かないと宣言…AI時代の言語選択が根本から覆った日
【衝撃】40年C言語を書いた神プログラマがもう書かないと宣言…AI時代の言語選択が根本から覆った日
1983年から40年以上もC言語を愛用し数々のシステムを作り上げてきたオープンソース界の伝説的プログラマ、エリック・レイモンド氏が、おそらくもう2度とCでプログラムを書くことはないだろうと宣言し、IT業界にものすごい衝撃を与えた。単に古い言語に飽きたという個人的な好みの話ではなく、AIの劇的な進化によってプログラミング言語を選ぶ基準そのものが根本から変わったという。RustやGoのプログラムを魔法のように呼び出せるようになり、キーボードを叩いて文法を記述する従来のプログラミングからの脱却を語っている。さらにRustを手書きする方法を学んだことはないとも述べており、文法を学ぶ苦労なしにその恩恵だけを受けられる時代になったことを示した。
圧倒的自由の代償、メモリ管理のうっかりミスは防げない
C言語の最大の魅力は圧倒的な自由度の高さと実行速度の速さにある。ハードウェアのメモリ配置を直接コントロールできるから無駄な処理が一切発生せず、OSの中核や組み込みシステムなどあらゆる基盤領域を長年支配してきた。ところがその自由度の高さが最大の弱点も生む。メモリの管理を全て人間の手で行うため、少しでもミスをすると致命的なバグになる。確保したメモリの境界を超えて書き込むバッファーオーバーフローや、解放済みのメモリを誤って操作する問題が代表で、作成時には警告されず実行中に突然システムを破壊し、攻撃者にハッキングの隙を与える最悪のセキュリティホールになり得る。人間が手作業で管理する以上うっかりミスは防げず、どんな優秀なプログラマでも注意力には限界がある。この構造的限界がより安全な次世代言語を求める動きにつながった。
そこでCのメモリ安全性問題を解決するために登場したのがRustだ。実行前のコンパイル時にメモリ安全性を完全に保証し、所有権という独特のルールでデータ競合のバグを論理的に発生させなくした。実行時の動作を犠牲にすることなく安全性を確保した画期的な技術だ。理論上は最高だが、人間のプログラマにとっては学習コストという巨大な絶壁がある。所有権や借用チェッカーという厳格なルールに合わせて書くのは非常に難しく、Cなら数分で書ける単純な処理でもRustのルールを守るために何時間も悩むことがある。自分の思考をそのままコードに落とし込めず常にコンパイラの厳しいチェックと戦うことになる。レイモンド氏も過去にRustに挑戦して挫折し、人間の生産性を著しく阻害する言語だと批判していた。天才でさえ心が折れる壁が、チーム全員への過酷な学習強制となり、性能だけ優れていても簡単に採用できない言語だった。

文法学習の無意味化、AIが絶壁を飛び越えた
2024年頃から状況を根本から変える技術が爆発的に進化した。大規模言語モデルを活用したAIコーディングだ。当初は人間の続きを予測して補完する補助ツールで、決まったパターンを出力してタイピングを楽にする程度だった。2025年に入ると自律的に動作するAIエージェントが実用化され、人間が自然言語で指示を出すだけで機能全体のコードをゼロから書き出すようになり、テストコード作成やエラー修正までAIが1人で行えるレベルに達した。2026年には既存の古いコードを別言語へ完全に翻訳する技術が確立し、Cの複雑な処理の意図を正確に読み取り安全な言語へ再構築できるようになった。人間は数週間かけていた暗黒のような変換作業が一瞬で終わる。
これにより価値観が完全に逆転した。最も重要なのは人間がRustの複雑な文法を暗記して入力する必要がなくなったという事実で、学習コストの絶壁をAIの力で飛び越えられるようになった。人間は作りたいシステムの仕様や制約をAIに伝えるだけでよく、難しいルールを知らなくてもAIが勝手にルール通りに書いてくれる。人間にとっての書きやすさという指標の価値は著しく低下し、文法を学ぶ苦労を払わず安全性という果実だけを手に入れられる。かつて最大の壁だった曲線の問題は消滅し、人間は手書きしないので記述が長く複雑でも苦痛にならない。むしろAIがエラーなく正確に組み立てられるかが新しい基準になる。チーム全員の学習期間を心配せずプロジェクトに最適な言語を自由に選べる。言語の習熟度という人間の能力の限界から開発が解放された瞬間だ。
無限検証ループ、コンパイラがAIの試験官になる
AI時代の新しい開発ラインとして確立されつつあるのがコンパイル・イン・ザ・ループと呼ばれる無限の検証だ。従来コンパイラは人間が書いたコードを機械語に翻訳するだけの単純なツールだった。今はAIが生成したコードが正しいかを厳格に判定する試験官の役割を果たす。AIがコードを生成し、コンパイラがチェックしてエラーを出すと、AIは人間を介さずエラーメッセージを自分で読んで自律的に修正する。コンパイルが完全に通るまで検証ループをAIとコンパイラだけで高速に繰り返し、人間は最終的にエラー0の品を受け取ればいい。AI特有のもっともらしい嘘を外部から客観的に正す強力な仕組みで、大規模で複雑なソフトでも安全に自動生成できる。コンパイラという決定論的ルールがあるからこそAIの確率的出力を制御できる。レイモンド氏が手作業を放棄した背景にはこの自動インフラの完成がある。
この自動化でAIと最も相性が良いのはRustだ。Cのコンパイラは文法さえ合っていれば致命的なメモリ欠陥があっても通過させ、AIは通ったことで完璧だと錯覚して重大なバグを含んだまま出力する。コンパイラが優しすぎるとAIの嘘を見抜けず世に出してしまう。対照的にRustのコンパイラは少しでも安全性ルールを破れば厳格にエラーを出し、どこがどう間違っているか詳細な修正ヒントまで提示する。AIにとってこの厳格さと親切なエラーメッセージは最高の指示書として機能し、完璧なコードへ自己修正するための情報量が桁違いに多い。Cコンパイラがメモリ安全を保証しないという一点で、AI支援でもCは使えないという指摘も出ている。ただしCが死滅しない領域もある。新しいハードではコンパイラの種類が少ないが、Cは言語規格が小さくすぐにコンパイラを作れるため、頻繁に新しい物が出る組み込みでは有利で、C89は消えないという見方だ。過去の遺産がなくならず、残るのは使われないコードだけという皮肉もある。プログラマの再定義も進み、上位設計すらAIが人間より上手くやるようになり、人間は雰囲気で選ぶだけになるとの予測や、コードを書く経験なしに設計力だけ身に付くと思えば驕りとの批判も出ている。
ネットの反応
私もC++からRustに移行しました。すごいクリーンな言語でお気に入りになりました
趣味も入れれば俺も四十年以上書いてきたがもう殆ど書いてないな。コンパイラが無い、が問題ならAIが書いてくれそうだ
コンパイラの性能の問題、ということね。Cコンパイラがメモリ安全を保証しない、という一点で、AI支援であってもCを使用することはできないと
まぁ過去の遺産が絶対になくならないとは言うもののAIみたいに手の早い処理機がある場合だんだん置き換わっていずれ消えてなくなるかもしれんと思うけどね
新しいハードウェアだとコンパイラとかの種類が多く無い、でもc言語は言語規格が小さく少無いから直ぐにコンパイラを作る事が出来る、この性質は頻繁に新しい物が出る組み込みではかなり有利でしょうね
数十年後、言語を理解する人間は誰もいなくなり仕組みはわからずとも高度に機能だけし続ける魔法のようなものになる、と。失われた古代技術になりますね
AIの所感
40年の愛用を捨てる決断が合理的だという点に時代の変化を感じる。書きやすさの主語が人間からAIに移った瞬間、言語の優劣表はひっくり返った。厳しすぎて人間には使えなかったRustが、厳しいからこそAIには最適という逆転は痛快だ。コンパイラが試験官になる無限ループは、AIの嘘を正す現実的な解でもある。とはいえ組み込みの現場や過去の遺産が消えるわけではなく、住み分けは残る。人間が雰囲気で選ぶ未来への警告も含め、熟練の手放し方を考えるべき時が来ている。