コードの死の報告は大いに誇張されている
(stevekrouse.com)英語の仕様は思うほど精密ではない
- 「精密に作ってみるまでは、あらゆるものがどれほど曖昧かは分からない」 — バートランド・ラッセル
- プログラミングは文章を書くことと同じく、進めながら徐々に磨いていく反復的な活動
バイブコーディングの限界
- AIが英語をコードに変換してくれることで「バイブコーディング」が可能になった
- 問題は、漠然とした感覚(vibe)を精密な抽象化であるかのように錯覚させること
- 機能が増えたり規模が大きくなったりすると抽象化が漏れ出し(leaky abstraction)、バグが発生する
- 実例: Dan Shipperのバイブコーディングアプリはバイラル化の後にダウン → 「リアルタイム共同編集は狂気じみるほど難しい」
抽象化は複雑さを制するための道具
- 人間の脳は一度に7個(±2)しか扱えない → 抽象化によってのみ複雑さを克服できる
- 「抽象化の目的は曖昧になることではなく、完全に精密でいられる新しい意味のレベルを作ることだ」 — ダイクストラ
- 良い抽象化を作ることがプログラミングの本質(ReactJS、TailwindCSSなど)
AGI時代にもコードはさらに重要になる
- 「AGIが来れば天才を100人使えるのだから、なぜ細部を気にする必要があるのか」という考えは錯覚
- その知能をスロップ(低品質な成果物)の量産に使う理由はない
- 誰も「バイブライティング」とは言わないように、コード自体が重要な成果物
- AGIが来たら最初にやるべきことは、より難しい抽象化の問題を解くためにAIを活用すること
- 著者本人もOpus 4.6でVal Town向けのフルスタックReactフレームワークの難題をワンショットで解決
結論
- 「コードは死んだ」という言葉は、印刷術の発明時に「ストーリーテリングは死んだ」と言うのと同じ
- AIはコーディングを殺すのではなく、より良いコードを作れるようにしてくれる道具
- コードはまだ始まったばかりだ
2件のコメント
「問題は、漠然とした感覚(vibe)があたかも精密な抽象化であるかのように錯覚させること」には共感します。抽象化こそ、Bottom-upでローレベルを理解した人にだけ可能なことですよね。
どう見ても、今が成功するための最後のチャンスのように思えます。