第三章 編程

現代計算機的發展還需要經過另外一個重要的步驟。所有在「二戰」時期出現的計算機(至少在剛開始構思的時候)都是為了完成某項專門的任務而建造的,例如用於求解方程和破解密碼。一台真正的計算機,比如埃達·洛夫萊斯和艾倫·圖靈所構想的計算機,是應該能夠快速流暢地執行任何邏輯運算的。這種機器的操作不僅由它們的硬件決定,而且還取決於軟件,也就是它們可以運行的程序。圖靈再次明確解釋了這種機器的概念:「我們不需要使用無限種類的機器來完成不同的任務,」他在1948年寫道,「只需一台機器就足夠了。為不同的任務製造多種機器的工程問題將會被『編程』這種文書工作取代,經過編程的通用型機器可以完成這些任務。」1

從理論上來說,諸如ENIAC這樣的機器是可以進行編程的,它們甚至可以被認為是通用型機器。但是在實際操作中,向這種機器導入新程序是一項非常煩瑣的工作——通常需要手動重新插拔連接計算機不同組件的線纜。這些在戰爭時期建造的計算機在切換程序的時候難以達到電子速度。實現快速切換程序的能力將取決於現代計算機誕生歷程的下一個重要步驟:找出在機器的電子存儲器中保存程序的方式。

《創新者:一群技術狂人和鬼才程序員如何改變世界》