LLMを含めたプログラミングの歴史
o3-mini-high.icon各パラダイムや技法の大まかな発生年代をまとめます。
1940年代
初期のコンピュータ(例:ENIAC)では、プログラミングは物理的な配線やスイッチの操作、つまり「ケーブルを繋ぐ」作業そのものでした。
1950年代
フォン・ノイマン型コンピュータの登場により、プログラムが記憶装置に格納され「データとしてプログラムを表現する」時代が始まりました。
正規表現の理論(Kleeneによる基礎理論)が確立され、その後のテキスト処理の基盤となります。
正規表現エンジンに「正規表現」と呼ばれる「文字列」のデータを与えることは、そのデータによってどのようなオートマトンを構築するかの「プログラム」を表現する行為であるnishio.icon
1970年代
Prolog が登場(約1972年頃)、論理プログラミングという新たな手法が確立されました。
同時期、型推論の概念が発展し、Hindley-Milner型システムなどを通じて、言語設計における安全性・明確性が向上しました。
この二つは「単一化」を計算原理に使う、手続型とは異なった計算のパラダイムとみなせるnishio.icon
1980年代~1990年代
Coq などの形式証明支援ツールが開発され、プログラムの厳密な検証や証明を可能にするアプローチが成熟しました。
2000年代
Alloy(SATベースのモデル検査ツール、約2002年頃発表)が登場し、システム設計の整合性や制約解決の手法として注目されました。
これもまた「SATソルバー」という効率的に特定の演算が可能な「計算のパラダイム」だnishio.icon
2010年代~現在
LLM(大規模言語モデル) が新たな部品として台頭。特に、GPT-3(2020年)やGPT-4(2023年)のリリースにより、プロンプトという文字列を用いた確率的かつ柔軟なコード生成が、これまでの決定論的手法に新風をもたらしています。
これも特定の演算が可能な「計算のパラダイム」であり、しかも正規表現が文字列で渡されるのと同様に、プロンプトが文字列で渡されるnishio.icon
決定論的に動作しないところが考え方の変化を要求するところ
これらの発生年代を背景に、プログラミングは物理的接続から抽象的なデータ表現へと進化し、各部品が相互に補完することで今日の多様なパラダイムが形成されてきたと言えます。