結城浩さんがBlueskyにて、以下のような内容を投稿されていました:
太古の話ですけど、アセンブラがメインだった開発現場にC言語が導入されつつある時代があったんですよ。
そのときにC言語を積極的に実践に投入してみる人と、かたくなにアセンブラにこだわっていた人がいたのを思い出します。
つまり「コンパイラが吐くコードをどのくらい信用できるか」と「プログラムがおかしな振る舞いをしたときのメンテナンスはどうするのか」という問題。
現代の生成AIがコードを作る時代を見ていると、同じテーマの音楽が大規模になって鳴り響いているのを感じますね。
https://bsky.app/profile/hyuki.net/post/3llqhs3c63k2l
この投稿は、過去の技術的転換点と、それに対する人々の反応を振り返りつつ、現代の生成AIによるコード生成と重なる構図を指摘していると読み取ることができます。
コンピュータ黎明期には、ハードウェアに近いアセンブラが主に使われていました。やがてC言語のような高級言語が登場し、より効率的な開発手法として導入されていきます。
この移行期には、次のような立場の違いがありました:
- 新しい技術(C言語)を試す人:生産性や保守性の向上を期待。
- 従来の技術(アセンブラ)にこだわる人:制御性と信頼性を重視。
当時は、コンパイラの品質が一様ではなく、最適化が不十分だったり、生成コードにバグを含むような例もありました。そのため、以下のような懸念が広がっていました:
- 「コンパイラが吐くコードをどの程度信用できるか?」
- 「生成されたコードの動作が意図通りでない場合、誰がどうやって直すのか?」
これは、自分の手で書いたアセンブラに比べて、ブラックボックス的な高級言語やコンパイル処理に対する心理的不安に通じます。
現代では、ChatGPTのような生成AIがコードそのものを生成する時代になりました。この状況は、かつての「コンパイラ vs アセンブラ」の構図とよく似ています。
- AIが出力するコードをどこまで信用してよいのか?
- 不具合が発生したとき、そのコードの意図や背景を理解し、修正できるのか?
こうした問題は、技術が自動化されるほどに「信頼性」と「可視性(理解・制御のしやすさ)」が損なわれがちであるという、本質的な問いを再び浮き彫りにしています。
結城さんの投稿は、
「新しい技術が登場するとき、必ず『信頼できるか?』『扱いきれるか?』という問いが立ち現れる」
という洞察を提示しています。
それは、C言語の登場時にもあったことであり、現代の生成AIの時代には、より大規模で複雑な形で再来しているのではないでしょうか。