Home About Contact
Programming , AI Coding

百年後のプログラミング、ハッカーと画家

久しぶりに「ハッカーと画家」を読み直した。百年後のプログラミング、というセクションに 「百年後も人間はプログラム的なものを使ってコンピュータに指示を与えているだろう」といったことが書かれていた。

引用 (出典: https://paulgraham.com/hundred.html):

Of course, I'm making a big assumption in even asking what programming languages will be like in a hundred years. Will we even be writing programs in a hundred years? Won't we just tell computers what we want them to do?

There hasn't been a lot of progress in that department so far. My guess is that a hundred years from now people will still tell computers what to do using programs we would recognize as such.

日本語訳 (出典: https://practical-scheme.net/trans/hundred-j.html):

もちろん、100年後のプログラミング言語がどんなだろうと尋ねる時点で私はひとつの大きな仮定をおいている。 100年後には我々はプログラムなんてしているんだろうか? して欲しいことを言うだけでコンピュータがやってくれるようにならないんだろうか?

そっち方面では、これまでのところたいした進歩はない。私の推測では、100年後でも、現在の我々がプログラムと呼ぶようなものを使ってコンピュータにして欲しいことを伝えているだろう。

AI によるコーディング

ポール・グレアム氏のこのエッセイは 2003年のものらしいので、2103年が100年後。今は 2026年。 未来予想というのは難しいですね。 ただし、今の AI がプログラミングをなくした、とか、なくす存在になるのかどうかは疑わしいけれど。

Vibe Coding が今までのプログラミングを(ほとんど)代替しないのはおそらくもう常識だと思うけれど、 こちらの意図を明確にするために、 「Spec-Driven Development(仕様駆動開発 / SDD)」や「ハーネスエンジニアリング」など、 AI に人間がほんとうに頼みたいことを伝える手法がいろいろと出てきている。 これらも屋上屋を重ねる感じで、それもありだが、プログラムするのと同じくらい詳細に指示を書かないといけない。 だったら結局直接コードを書いて伝えるのが一番はやいんじゃないの?・・・ということになるのかもしれない。

この辺のややこしさは、数学を数学的な記述を使わないで自然言語で表現する、ことを考えてみるとわかる。 人生相談みたいな絶対的な正解がそもそも存在しない場合には LLM のようなAIはありなのだが。

もっとも、実質同じことを行う いろいろな言語 Javascript, Python, Java, Kotlin ... etc の記述方法を生身の人間が直接書いていくのは無意味かつ無理筋なので、その点ではAIコーディングの価値は高い。

そもそも、AI がもっと普及すれば、プログラム言語の数は最終的には減るだろう。