第三章 编程

现代计算机的发展还需要经过另外一个重要的步骤。所有在“二战”时期出现的计算机(至少在刚开始构思的时候)都是为了完成某项专门的任务而建造的,例如用于求解方程和破解密码。一台真正的计算机,比如埃达·洛夫莱斯和艾伦·图灵所构想的计算机,是应该能够快速流畅地执行任何逻辑运算的。这种机器的操作不仅由它们的硬件决定,而且还取决于软件,也就是它们可以运行的程序。图灵再次明确解释了这种机器的概念:“我们不需要使用无限种类的机器来完成不同的任务,”他在1948年写道,“只需一台机器就足够了。为不同的任务制造多种机器的工程问题将会被‘编程’这种文书工作取代,经过编程的通用型机器可以完成这些任务。”1

从理论上来说,诸如ENIAC这样的机器是可以进行编程的,它们甚至可以被认为是通用型机器。但是在实际操作中,向这种机器导入新程序是一项非常烦琐的工作——通常需要手动重新插拔连接计算机不同组件的线缆。这些在战争时期建造的计算机在切换程序的时候难以达到电子速度。实现快速切换程序的能力将取决于现代计算机诞生历程的下一个重要步骤:找出在机器的电子存储器中保存程序的方式。

《创新者:一群技术狂人和鬼才程序员如何改变世界》