プログラミングの歴史を振り返ると、現代のようなアプリやIDE(統合開発環境)がある前から人々は計算機や機械を動かすための手順を書いていました。本記事では、「Aを作るためにBが必要」という連鎖の疑問を踏まえつつ、最初のプログラムの作り方とプログラミングの成り立ちを解説します。
初期のプログラミングとは何か
最初期のコンピュータでは、プログラムは機械語やパンチカードで直接命令を書き込みました。ここで言う「アプリを作るためのアプリ」は存在せず、人間が直接計算機に指示を書いていました。
例えば、1940年代のENIACやEDSACでは、電気信号のオン・オフで計算を行うために手作業で配線やスイッチ設定を行い、そこに計算手順を書き込んでいました。
コンパイラやアセンブラの誕生
その後、1950年代にFORTRANなどの高水準言語が登場し、人間が理解しやすい形でプログラムを書き、コンパイラが機械語に翻訳する仕組みが生まれました。ここで言うBやCのような「下位のプログラミング環境」は、最初は人間が手作業で作り、その後ツールとして整備されました。
つまり、最初のコンパイラやアセンブラは人間が直接機械語で作ったもので、無限に続く連鎖は、最初の段階では人間の手作業で止められていたのです。
循環の問題は存在しない
現代の開発ツールのように「アプリを作るためのアプリ」が必要になる循環は、最初期には存在しませんでした。すべては最初は直接計算機に指示を与えることから始まり、徐々に人間の負担を減らすためのツールが作られました。
このため、「Aを作るためにBが必要、Bを作るにはCが必要」という無限連鎖は、実際には人間が手作業で最初のBやCを作ることで止まっています。
まとめ
プログラミングの最初は、すべて人間が直接命令を与えることから始まりました。現代の開発環境やIDEは、その手作業で作られた最初のプログラムとツールの進化によって生まれたものです。無限連鎖のように思える依存関係も、最初の段階は人間が直接作業しており、そこから徐々に自動化や高水準化が進んでいったと理解できます。


コメント