创新者
上QQ阅读APP看书,第一时间看更新

第二章
计算机

创新有时只是时机的问题。如果一个伟大想法出现的时候刚好存在可以实现它的技术,那么一项创新就诞生了。例如,人类登月计划被提出的时候,微型芯片的发展水平刚好可以将计算机导航系统放进火箭的头锥里面。然而,创新有时也会在不对的时机出现。查尔斯·巴贝奇在1837年就发表了一篇关于精密计算机的论文,但是制作这种计算机所需的技术进步需要经过100年才能达成。

虽然某些技术进步似乎是微不足道的,但是技术的发展不仅体现在重大的飞跃之中,还是由无数个小幅的改进累积而成的。打孔卡片的发展就是这样一个例子。巴贝奇在雅卡尔纺织机上发现了这种卡片的用途,并打算将其整合到自己构想的分析机当中。后来,真正适合用于计算机的打孔卡片在赫尔曼·霍尔瑞斯(Herman Hollerith)的手中得到了完善。他是美国人口普查局的一位职员,在得知手动制作的1880年人口普查表需要近8年的时间才完成之后,他大为震惊,于是他决心要让1890年的人口普查工作实现自动化。

霍尔瑞斯从火车售票员的验票方式当中得到了启发。当时的售票员会在车票的不同位置打孔,以此来表示每位乘客的特征(性别、近似身高、年龄和发色等)。根据这个方式,霍尔瑞斯设计了一种12行、24列的打孔卡片,用于记录人口普查数据当中每个人的显著特征。制作好的打孔卡片会被放入由多个水银凹槽组成的网格和一组装有弹簧的探针之间,这些探针会在卡片穿孔位置与下方的水银形成闭合电路。这个装置不仅可以统计原始数据的总和,还可以记录不同特征的组合,例如已婚男性或者外籍女性的数量。在使用了霍尔瑞斯发明的制表机之后,1890年人口普查仅用了一年时间就完成了,远低于之前的8年时间。这是人类首次使用电路进行大规模信息处理的案例。霍尔瑞斯后来成立的公司在经过一系列的并购重组之后,于1924年成为国际商业机器公司(International Business Machines Corporation),简称IBM。

我们可以把创新看成是无数个细小的进步不断累积的结果,例如计数器和打孔卡片的读卡器。采用这种观点可以更好地理解创新是如何在IBM这种地方发生的,因为IBM的强项是由多个工程师团队进行持续性的技术改进。我们这个时代的一些最为重要的技术都是无数个微创新加上少量突破性飞跃的产物。用于开采天然气的水力压裂技术就是这样的一个例子,这一技术在过去60年当中一直在不断地发展。

在计算机的发展过程中,来自IBM等企业的不知名工程师们也做出了许多这种渐进式的贡献,但仅凭这些是不够的。尽管IBM在20世纪初已经生产了可以编译数据的机器,但是它们还不能被称为计算机,甚至算不上是特别灵巧的计算器,它们是有缺陷的。除了无数个细小的进步以外,计算机时代的诞生还需要一些有远见的人的创造性飞跃。

数字技术击败模拟技术

霍尔瑞斯和巴贝奇设计的机器是数字化的,也就是说它们会使用数字进行计算,这里的数字指的是像0、1、2、3这种独立和明确的整数。在他们的机器中,这些整数的加减是通过齿轮上的数字切换来实现的,就像是计数器一样。另外一种可以实现计算的方式是制造出可以模仿或将物理现象模型化的设备,然后根据在模型上的测量结果进行计算。这种机器被称为模拟(analog)计算机,因为它们是通过模拟的方式来工作的。模拟计算机无须依赖独立的整数进行计算;相反,它们使用的是连续函数。在模拟计算机中,电压、绳子在滑轮上的位置、水压或者距离这样的变量会被用于模拟求解问题中的对应量。例如,计算尺是模拟的,算盘是数字的;带有指针的钟表是模拟的,显示数字的钟表是数字的。

大约在霍尔瑞斯制造出他的数字制表机的时候,英国历史上两位杰出的科学家——凯尔文勋爵(Lord Kelvin)和他的哥哥詹姆斯·汤姆森(James Thomson)正在设计一台模拟机器。这是一台专门用于处理冗长乏味的微分方程求解的机器,它可以帮助制作潮汐表,以及记录炮弹发射角对应弹道的表格。19世纪70年代初,这对兄弟制成了一台以求积仪为基础的设备,这个工具可以用于测量二维图形的面积,例如在纸上的一条曲线下方的面积。操作者可以通过描绘曲线的轮廓来计算出对应的面积,在这个过程中,设备上的小圆球会在一个旋转的大圆盘表面缓慢移动。因为它可以计算出曲线下方的面积,所以它可以通过积分的方式实现方程求解——换句话说,它可以进行基础的微积分计算。凯尔文和他哥哥利用这种方法制作出了一台“调和推算机”(harmonic synthesizer),它可以在四个小时之内计算出一张年度潮汐表。然而,他们一直无法将多台这样的设备连接在一起求解带有多个变量的方程,因为这样做会带来一些难以克服的机械难题。

连接多台积分设备的难题直到1931年才得以解决。当时麻省理工学院的工程学教授万尼瓦尔·布什(Vannevar Bush,请记住这个名字,因为他是本书的一位关键人物)建造出了世界上第一台模拟电子机械计算机。他将这台机器称为微分分析机(Differential Analyzer)。它由六台球盘积分仪(类似于凯尔文勋爵发明的机器)组合而成,它们之间通过一系列的传动装置、滑轮和转轴连接起来,并使用电动马达提供动力。布什所在的麻省理工学院为他提供了很多帮助,因为学院有很多懂得组装和调校复杂装置的人才。最终建成的机器有一间小型卧室那么大,可以解出最多含有18个独立变量的方程。在接下来的10年时间,布什的微分分析机被复制成了多个版本,它们分别位于马里兰州的美国陆军阿伯丁试验场、宾夕法尼亚大学摩尔电气工程学院,以及英国的曼彻斯特大学和剑桥大学。事实证明,这些机器非常适合用于制作弹道表——以及训练和启发下一代的计算机先驱。


然而,布什的机器注定不会成为计算机历史上的一项重大进展,因为它是一台模拟设备。实际上,它成了模拟计算的最后一次挣扎,这种情况至少持续了几十年的时间。

新的方法、技术和理论开始在1937年涌现,这刚好是巴贝奇首次发表分析机论文之后的第一百年。这是计算机时代充满奇迹的一年,这一年取得的成果体现为计算机的四个特性,它们之间互有关联,而且对现代计算起到了决定性的作用。

数字化。计算机革命的一个根本特征是以数字计算而非模拟计算为基础。我们很快可以看到造成这种情况的具体原因,其中逻辑理论、电路和电子通断开关的同时发展使得数字操作成为比模拟操作更为高效的方式。计算机科学家直到21世纪初才开始寻求模拟人类的大脑,这是模拟计算研究真正得到复苏的标志。

二进制。除了数字化以外,现代计算机还采用了二进制的数字系统。二进制指的是只使用0和1来表示数字,而不像我们常用的十进制那样使用十个数字。跟许多数学概念一样,二进制的理论也是由莱布尼茨在17世纪后期首先提出的。到了20世纪40年代,二进制的优势开始变得越来越明显,特别是对由通断开关组成的电路进行逻辑操作的时候,二进制的实用性要高于包括十进制在内的其他数字形式。

电子化。20世纪30年代中期,英国工程师汤米·弗劳尔斯(Tommy Flowers)率先将真空管用作电子电路的通断开关。在此之前,电路一直都使用机械开关和机电开关,例如电话公司使用的嗒嗒作响的电磁继电器。真空管之前的主要用途是放大信号,而不是作为通断开关使用。在使用了真空管以及后来的晶体管和微型芯片之后,计算机的运行速度可以比使用机电开关的机器高出几千倍。

通用性。最后,计算机将有能力根据不同的目的进行编程和重新编程(甚至是自动重新编程)。它们不仅可以解决单个形式的数学计算(例如微分方程),还可以执行各种各样的任务和符号处理,包括文字、音乐、图片和数字。这正好实现了洛夫莱斯夫人在描述巴贝奇分析机时所构想的能力。


创新的出现总是水到渠成的。在1937年发生的重大进步并非只有单方面的原因,而是在多个地方同时出现的能力、思想和需求相互碰撞的结果。历史上的重大发明通常都是在正确的时机和合适的环境下诞生的,信息技术的发明更是如此。真空管在无线电工业中的发展为电子数字电路的诞生铺平了道路,同时逻辑学的理论发展也提升了电路的实用性。战争的威胁进一步加快了计算机技术发展的步伐。随着各个国家都开始为一触即发的大战做准备,计算能力的重要性俨然已经与军备的火力相当。互相促进的技术发展几乎在同一时间自发地出现在各个地方,比如哈佛大学、麻省理工学院、普林斯顿大学、贝尔实验室以及位于柏林的一座公寓,还有一个地方也许不是最有可能出现创新的,但它却是最为有趣的——位于艾奥瓦州埃姆斯市的一个地下室。

为这些技术进步提供支撑的是在数学领域出现的一些精彩的(埃达也许会将其称为诗意的)飞跃。其中一项飞跃促进了“通用计算机”(universal computer)概念的正式形成,这是一种可以通过编程进行任何逻辑任务的机器,并且可以模拟任何逻辑机器的行为。这个概念是在一位杰出的英国数学家的思维实验当中诞生的,而这位数学家的人生经历既鼓舞人心,又令人唏嘘不已。

艾伦·图灵

出身于英国没落贵族的艾伦·图灵在一个缺乏关爱的环境中成长。Andrew Hodges,Alan Turing: The Enigma(Simon & Schuster,1983;locations refer to the Kindle“Centenary Edition”),439. In addition to the sources cited below,this section draws on Hodges’s biography and his website,http://www.turing.org.uk/;the correspondence and documents in the Turing Archive,http://www.turingarchive.org/;David Leavitt,The Man Who Knew Too Much(Atlas Books,2006);S. Barry Cooper and Jan van Leeuwen,Alan Turing: His Work and Impact(Elsevier,2013);Sara Turing,Alan M. Turing(Cambridge,1959;locations refer to the Kindle“Centenary Edition,”with an afterword by John F. Turing,published in 2012);Simon Lavington,editor,Alan Turing and His Contemporaries(BCS,2012).他的家族在1638年受封从男爵爵位,这个爵位一直在图灵家族中世袭,最后传到了艾伦的一位远房侄子。但是图灵家谱中的旁系是没有领地的,也不能继承多少财产,艾伦的祖父就属于这样的旁系。大多数没有继承爵位的家族成员都成了神职人员(比如艾伦的祖父)或者英属殖民地的公务员,他的父亲就是一位服务于印度边远地区的基层行政人员。艾伦是在印度恰特拉普尔被怀上的,随后他的父母回到伦敦休假,并在1912年6月23日生下了艾伦。在他只有一岁的时候,他的父母就要返回印度继续工作,于是艾伦和他的哥哥就被交给了居住在英格兰南海岸的一对退役陆军上校夫妇照顾。“虽然我不是儿童心理学的专家,”他的哥哥约翰·图灵后来表示,“但我相信让一个襁褓中的婴儿离开父母的怀抱,并在一个陌生的环境中成长肯定不会是一件好事。”John Turing in Sara Turing,Alan M. Turing,146.

在母亲回国以后,艾伦跟她一起生活了数年的时间,之后他在13岁的时候被送到了寄宿学校。他独自一人花了两天时间骑车到学校,这是一段超过60英里的路程。他身上有一种孤独者的特质,这点体现在他对长跑和骑行运动的热爱上。他还拥有一个在创新者之间很常见的特点,他的传记作者安德鲁·霍奇斯(Andrew Hodges)对此做出了含蓄的表述:“艾伦需要花比较长的时间才能学会分清主动性和不服从之间的模糊界线。”Hodges,Alan Turing,590.

在一份深情的回忆录当中,他的母亲这样描述这个自己过分喜爱的儿子:

艾伦的体格强壮,身材高大,他有一个方正坚实的下巴和一头桀骜不驯的棕色头发。深邃而清澈的蓝眼睛是他标志性的特征。微微上翘的短鼻子和讨喜的嘴巴轮廓让他看起来很年轻(有时甚至显得幼稚),以至于年近40的他仍然会被人误以为是大学生。他在衣着和生活习惯方面比较不修边幅。他通常会留着过长的头发,而且总会有一绺刘海垂到脸上,这时他会用力一甩头将其抛回原处……他有时会心不在焉和精神恍惚,这是因为他正在全神贯注于自己的思考当中,在某些场合下,这点会让他显得不擅交际……有时候他的羞怯在别人看来是非常无礼的……事实上他认为自己很适合隐居在中世纪的修道院里面。Sara Turing,Alan M. Turing,56.

艾伦在舍伯恩寄宿学校里认识到自己是一个同性恋者。他开始迷恋一位身材瘦削的金发同学克里斯多夫·莫科姆(Christopher Morcom),他们一起研究数学并讨论哲学问题。但是在他毕业前的寒假里,莫科姆突然死于结核病。图灵后来给莫科姆的母亲写了一封信,信中写道:“我真诚地崇拜他踏足过的土地——非常抱歉,我无法掩盖这点。”Hodges,Alan Turing,1875.在写给自己母亲的一封信中,图灵似乎想从自己的信仰中寻求安慰:“我感觉自己会在某个地方再次遇到莫科姆,在那里,我们又可以一起工作,正如我之前以为我们可以在这里一起做的一样。现在既然只剩下我一个人来完成我们共同的事业,我一定不能让他失望。如果我能取得成功,我将会比现在更有资格与他在一起。”然而这个悲剧最终侵蚀了图灵的宗教信仰,而且还使他变得更加内向,他之后再也无法轻易地与他人建立亲密的关系。他的舍监在1927年复活节时向他的父母汇报道:“无可否认他不是一个‘普通’的男孩,当然这不是最坏的情况,只是不如其他孩子快乐而已。”Alan Turing to Sara Turing,Feb. 16,1930,Turing archive;Sara Turing,Alan M. Turing,25.

在舍伯恩的最后一年里,图灵获得了剑桥大学国王学院的奖学金,他在1931年入读这个学院学习数学。他用这笔奖学金买了三本书,其中一本是约翰·冯·诺依曼(John von Neumann)所著的《量子力学的数学基础》(The Mathematical Foundations of Quantum Mechanics)。冯·诺依曼是一位出生于匈牙利的杰出数学家,这位计算机设计先驱对图灵以后的人生产生了长远的影响。图灵对量子物理学核心的数学原理特别感兴趣,这种数学原理描述的是在亚原子层面发生的事件会如何受到统计概率的控制,而不是那些使用必然性定义事物的原理。图灵(至少在年轻时)相信处于亚原子层面的不确定性使得人类可以实现自由意志——如果这个观点正确的话,能否实现自由意志似乎是一个可以用于区分人类和机器的特征。换句话说,由于发生在亚原子层面的事件不是预先确定的,我们的思考和行动方式才得以有无限的可能。他在一封写给莫科姆母亲的信中解释道:

在过去,科学界往往认为,如果我们完全了解了某一时刻的宇宙,就能预测它会在未来发生的所有事情。这个观点来源于天文预测方面取得的成功。然而,现代科学得出的结论是,当我们在讨论原子和电子时,我们无法知道它们的确切状态,因为我们的测量工具本身就是由原子和电子组成的。于是,能够知道宇宙确切状态这一观点在微观尺度上必须被推翻。那么这就意味着“由于日食等天文现象可以预先确定,因此我们的行为也能预先确定”这一理论也是不可信的。我们拥有某种意识,能够控制一部分或者整个大脑的原子的活动。Hodges,Alan Turing,2144.

此后图灵一直在钻研这个问题:人类大脑与确定性机器之间是否存在根本区别?他后来逐步得出的结论是,人与机器的界线要比他原来想象中的更为模糊。

他还有这样一个直觉,正如亚原子的范围内充满了不确定性,有一些数学问题也是无法通过机械的方式解决的,它们注定要披着不确定性的外衣。当时的数学家们主要专注于研究关于逻辑系统的完整性和稳定性的问题,这种情况在一定程度上是受到了大卫·希尔伯特(David Hilbert)的影响。这位居住在德国哥廷根的天才数学家拥有众多杰出的成就,其中一项是与爱因斯坦同时提出广义相对论的数学表达式。

在一场1928年举行的数学大会上,希尔伯特提出了关于任意数学形式系统的三个基本问题:(1)系统的规则集是完备的吗?只使用系统的规则能否证明(或证伪)任意的数学命题?(2)系统是一致的吗?会不会有既可以证明正确,又可以证明错误的命题?(3)系统是可判定的吗?有没有可以判定特定命题是否可证明的方法,会不会出现某些陈述存在不可判定状态的可能性(例如费马大定理、哥德巴赫猜想 哥德巴赫猜想:任一大于2的偶数都可以写成两个质数之和。 和考拉兹猜想 考拉兹猜想:对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能得到1。 等悬而未决的数学谜题)?希尔伯特认为前两个问题的答案都是肯定的,剩下第三个问题仍有待商榷。他简单明确地表示,“世界上没有无法解决的问题”。

希尔伯特提出的前两个问题在三年不到的时间内就被来自奥地利的逻辑学家库尔特·哥德尔(Kurt Gödel)迅速攻破了。时年25岁的哥德尔正与母亲一起居住在维也纳,他当时对前两个问题给出了出人意料的答案:不完备和不一致。他在自己的“不完全性定理”中表示既不能被证明也不能被证伪的命题是存在的。其中一些最简单的例子是类似于“本命题是不可证明的”这样的自指命题。如果它是真命题,那么它可以推出我们不能证明它是真的;如果它是假命题,也会导致逻辑上的矛盾。这就像是源自古希腊的“说谎者悖论”,“本命题为假”这个命题是无法被判定的(如果它是真命题的话,那么它同时也是假命题,反之亦然)。

在提出不能被证明或反驳的命题的同时,哥德尔证明了任何足够强大而可以表达常用数学原理的形式系统都是不完备的。他还给出了另外一条配套的定理,能够在事实上否定希尔伯特的第二个问题。

于是在希尔伯特的问题当中只剩下第三个可判定性问题尚未解决,希尔伯特本人将这个问题称为“判定问题”(decision problem)。尽管哥德尔提出了既不能被证明也不能被证伪的命题,但是这些特殊的命题可以通过某种方式辨别和隔离,让形式系统剩余的部分保持完备和一致。这就需要我们找出一些可以判定一个命题是否可证明的方法。剑桥大学的杰出数学教授麦克斯·纽曼(Max Newman)在向图灵讲解希尔伯特的问题时,他对“判定问题”的表述是:有没有一种“机械方式”可以用于判定某个逻辑命题是否可证?

图灵很喜欢“机械方式”的概念。1935年夏季的某一天,他跟往常一样独自外出沿着伊利河畔跑步。在跑完几英里的路程之后,他停下来躺在格兰切斯特草甸的苹果树下,潜心思考一个问题。他按照字面意思理解“机械方式”的概念,想出一个可以用于解决这个问题的机械方式——一台想象中的机器。Hodges,Alan Turing,2972.

虽然他构想出的“逻辑计算机器”(这只是一个思维实验,并非一台真正得到建造的机器)看起来非常简单,但是它在理论上可以处理任何数学计算。它含有一条无限长度的纸带,纸带上面的方格可以显示不同的符号。如果采用最简单的二进制形式的话,这些符号可以表示为“1”和“空白”。这台机器可以读取纸带上的符号,并根据给定的“指令表”执行特定的操作。Alan Turing,“On Computable Numbers,”Proceedings of the London Mathematical Society,read on Nov. 12,1936.

这个指令表可以根据机器所在的矩阵(configuration)和方格上显示的符号(如果存在的话)指示机器做出对应的操作。例如,用于某个任务的指令表可能会给出这样的指示:如果机器处于矩阵1,并在方格中读取到符号1,那么它就会将方格向右移动,并切换到矩阵2。可能会让我们惊讶的是,只要给定合适的指令表,这样一台机器可以完成任何复杂的数学计算任务。

这台想象中的机器会如何回答希尔伯特的第三个问题——判定问题呢?图灵通过重新定义“可计算数”的概念来着手处理这个问题。由数学规则定义的任意实数都可以通过逻辑计算机器计算出来。甚至像π这样的无理数也可以使用有限的指令表进行无限的计算,其他例子包括7的对数、2的平方根,以及埃达·洛夫莱斯帮助设计算法的伯努利数。实际上无论是多么复杂的数字和数列,只要它的计算是由有限的规则集定义的,那么它就可以被计算出来。按照图灵的说法,这些都属于“可计算数”。

图灵进一步证明了“不可计算数”的存在。这点跟他提出的“停机问题”(the halting problem)有关,他证明了不存在可以解决停机问题的方法,也就是不能提前判定任意给定指令表和输入集的组合会导致机器得出答案还是进入无限的循环。他表示停机问题的不可解性意味着希尔伯特的判定问题也是不可解的。尽管希尔伯特希望自己的第三个问题也可以得出肯定的答案,但事实上不存在可以判定每一个数学命题的可证明性的机械方式。哥德尔的不完全性定理、量子力学的不确定性,以及图灵对希尔伯特第三个问题的解答都否定了机械的、确定的和可预知的宇宙。

图灵在1937年发表了一篇题为《论可计算数及其在判定问题上的应用》的论文,这是一个不太能引人注意的题目。他对希尔伯特的第三个问题的解答有助于数学理论的发展,不过意义更为重大的是图灵在证明过程中产生的逻辑计算机器的概念。这台机器在不久后就被称为图灵机。“发明一台可以用于计算任意可计算序列的机器是可能的。”他断言道。Alan Turing,“On Computable Numbers,”241.这台机器将可以读取其他任何机器的指令,并执行该机器可以完成的任何任务。图灵机从本质上实现了查尔斯·巴贝奇和埃达·洛夫莱斯关于完全通用型机器的梦想。

“判定问题”还有另外一个优雅程度不如图灵机的解答——“无类型λ演算”(untyped lambda calculus),这是普林斯顿大学的数学家阿隆佐·邱奇在同年早些时候发表的一个形式系统。图灵的教授麦克斯·纽曼认为,图灵如果跟邱奇学习的话将会为他带来很大的帮助。在写给邱奇的推荐信中,纽曼表示图灵的前途不可限量,同时根据图灵的个性提出了一个更为私人的请求。“他一直以来的工作都没有得到他人的指导或者评价,”纽曼写道,“这点使他更加有必要尽快接触这个领域的领军人物,这样他才不至于变成一个无可救药的孤独者。”Max Newman to Alonzo Church,May 31,1936,in Hodges,Alan Turing,3439;Alan Turing to Sara Turing,May 29,1936,Turing Archive.

图灵的确更倾向于独来独往。身为同性恋者的事实让他有时会感到自己无法融入其他人的圈子;他独自一人居住,避免与其他人进行深入的接触。他曾经向一位女同事求婚,但后来他还是觉得有必要告诉她自己是同性恋者。对方没有为此感到困扰,仍然愿意与他成婚,但他始终认为这是一种欺骗行为,因此没有继续这桩婚事。不过,他最终并没有成为一个“无可救药的孤独者”。他学会了如何在一个团队中与其他协作者一起工作,正因为有了这样的合作,他的抽象理论才得以体现在真正的发明上。

1936年9月,在等待论文发表的期间,这位24岁的博士研究生乘上了老旧的远洋邮轮贝伦加利亚号远赴美国,他身上带着一台铜制六分仪。图灵在普林斯顿大学的办公室位于数学系的大楼,这里当时也是普林斯顿高等研究院的所在地,爱因斯坦、哥德尔和冯·诺依曼都曾经担任过这所研究院的院长。温文尔雅、热衷社交的冯·诺依曼对图灵的工作特别感兴趣,尽管他们两人的性格截然不同。

1937年出现的翻天覆地的变化和接踵而至的进步并非直接源于图灵的论文发表。事实上,这篇论文在刚发表的时候也并没有得到多少关注。图灵请母亲将论文的副本寄给数学哲学家伯特兰·拉塞尔和其他六位知名学者,但是只有阿隆佐·邱奇对它进行了认真的审阅。邱奇能够欣赏图灵的工作成果,因为他自己在解决希尔伯特判定问题方面的研究一直领先于图灵。邱奇不仅乐于提携后辈,他还将图灵所说的逻辑计算机器命名为“图灵机”。于是,年仅24岁的艾伦·图灵,他的名字就被永远地刻在了数字时代一个最为重要的概念上。Alan Turing to Sara Turing,Feb. 11 and Feb. 22,1937,Turing Archive;Alonzo Church,“Review of A. M. Turing’s ‘On computable numbers,’”Journal of Symbolic Logic,1937.

贝尔实验室的克劳德·香农和乔治·斯蒂比兹

1937年还出现了另外一项意义重大的理论突破。与图灵的成果类似,这项突破也只是一个思维实验。麻省理工学院的研究生克劳德·香农(Claude Shannon)在这一年提交了有史以来最具影响力的一篇硕士论文,《科学美国人》(Scientific American)杂志后来更将其称为“信息时代的大宪章”。This Shannon section draws on Jon Gertner,The Idea Factory: Bell Labs and the Great Age of American Innovation(Penguin,2012;locations refer to the Kindle edition),chapter 7;M. Mitchell Waldrop,“Claude Shannon: Reluctant Father of the Digital Age,”MIT Technology Review,July 2001;Graham Collins,“Claude E. Shannon: Founder of Information Theory,”Scientific American,Oct. 2012;James Gleick,The Information(Pantheon,2011),chapter 7.

香农在密歇根州的一个小镇长大,他从小就喜欢制作飞机模型和业余无线电,后来更进入密歇根大学攻读电气工程和数学专业。他在大四的时候应征了一份贴在学校公告栏的招聘启事,这份工作的内容是前往麻省理工学院帮助万尼瓦尔·布什运作微分分析机。在得到这份工作之后,香农彻底被这台机器迷住了——跟组成模拟部件的转轴和滑轮相比,更让香农着迷的是控制电路中的电磁继电器开关。这些开关可以根据电流信号接通和断开,从而形成不同的电路形式。

1937年夏季,香农暂时离开了麻省理工学院,前往贝尔实验室工作,这是一家由AT&T(美国电话电报公司)运营的研究机构。当时的贝尔实验室位于曼哈顿哈德孙河畔的格林尼治村,它是一个可以将想法变成发明的摇篮。抽象的理论和实际的问题在这里交汇;这里的走廊上、餐厅里聚集了许多偏执的理论家、亲力亲为的工程师、脾气暴躁的机械师和高效的问题解决者,他们共同促进了理论和工程之间的交流。这点让贝尔实验室成为数字时代最为重要的创新支柱之一,哈佛大学的科学历史学家彼得·盖利森把它称为“贸易区”(trading zone)。当这些实践者和理论家聚在一起的时候,他们学会了如何找出一种共同语言来交换各自的想法和信息。Peter Galison,Image and Logic(University of Chicago,1997),781.

在贝尔实验室里,香农亲眼看到了电话系统电路的强大功能,这些电路会使用电子开关来安排通话线路和平衡通话负载。他开始在脑海中将这些电路的工作原理和另外一项自己感兴趣的课题结合起来——英国数学家乔治·布尔在90年前制定的逻辑系统。布尔引入了使用符号和等式表达逻辑命题的方式,此举使得逻辑学出现了颠覆性的变化。他将真命题设为数值1,假命题设为数值0,然后这些命题可以用于进行一系列的逻辑运算——例如“与”(and)、“或”(or)、“非”(not)、“或者……或者”(either/or)和“如果……则……”(if/then)——就像是数学方程一样。

香农发现电路可以使用不同的通断开关组合来执行这些逻辑运算。举个例子,如果要实现一个“与”运算,可以将两个开关串联,这样它们需要同时闭合才能接通电路;如果要实现一个“或”运算,可以将两个开关并联,这样它们只需闭合其中一个就能接通电路。更为通用的逻辑开关被称为逻辑门,它们可以简化上面的流程。换句话说,你可以设计一个含有多个继电器和逻辑门的电路,它可以按照步骤执行一系列的逻辑任务。

“继电器”是一种利用电流控制通断的开关,例如电磁继电器。在开关时会发出响声的继电器有时会被称为机电继电器,因为它们含有活动的部件。真空管和晶体管也可以作为电路中的继电器,它们被称为电子继电器,因为它们在控制电流的过程中无须移动电子元件。“逻辑门”是一种可以处理一个或多个输入的开关。例如,在带有两个输入的电路中,“与”门在两个输入均为高电平时才能输出高电平,“或”门在其中一个输入高电平时即可输出高电平。香农的想法是这些逻辑门可以集成在电路当中,这样就可以执行布尔逻辑代数的运算。

香农在同年秋季返回麻省理工学院。布什对香农的想法大为欣赏,并鼓励他将这些内容加入自己的硕士论文当中。这篇题为《继电器与开关电路的符号分析》的论文展示了执行布尔代数的各种运算的方法。“利用继电器电路执行复杂的数学运算是可能的。”他在论文的结尾总结道。Claude Shannon,“A Symbolic Analysis of Relay and Switching Circuits,”Transactions of the American Institute of Electrical Engineers,Dec.1938.For a clear explanation,see Daniel Hillis,The Pattern on the Stone(Perseus,1998),2–10.这篇论文成为所有数字计算机的基础概念。

香农的想法也引起了图灵的兴趣,因为这跟他刚刚提出的通用型机器概念密切相关——图灵机也可以使用简单的二进制编码指令解决数学和逻辑学的问题。而且由于逻辑学和人类大脑的推理方式有关,所以从理论上来说,一台可以执行逻辑任务的机器也可以模仿人类的思考方式。


数学家乔治·斯蒂比兹(George Stibitz)当时也在贝尔实验室工作。他的职责是研究出新的计算方式,帮助电话工程师处理日益复杂的计算工作。斯蒂比兹当时可以使用的工具只有桌面机械加法机,于是他决定按照香农的想法发明一种更高效的计算工具,也就是利用电路执行数学和逻辑的运算。在11月的一天晚上,他从实验室的仓库中带了一些用过的电磁继电器和灯泡回家。他在厨房的桌子上将这些零件安装到一个烟草罐子里面,然后再连接几个开关,这样就做出了一个可以计算二进制加法的简单逻辑电路。其中点亮的灯泡表示“1”,熄灭的灯泡表示“0”。他的妻子把它叫作“K模型”。他第二天向办公室的同事展示了这个模型,并试图让他们相信只要有足够多的继电器,他就可以制造出一台计算机器。

贝尔实验室的一个重要任务是研究如何放大远距离传输的电话信号,同时排除信号传输过程中的静电干扰。实验室的工程师们会使用一些专门的公式来处理信号的波幅和相位,但是这些方程有时会求出带有复数的解(复数是指含有表示负数平方根的虚数单位的数)。斯蒂比兹的主管问他这台机器能否处理复数,在得到了肯定的回答之后,这位主管安排了一支工程师团队协助他完成制造。他们在1939年制成了这台机器,并把它命名为“复数计算器”。它含有超过400个继电器,每个继电器的开关频率达到每秒20次。这点让它的计算速度可以远远超过机械计算器,但是跟当时正在研发的全电子真空管电路相比,它又显得过于臃肿。虽然斯蒂比兹的计算器不能进行编程,但它证明了继电器电路可以用于处理二进制计算、信息和逻辑程序。Paul Ceruzzi,Reckoners:The Prehistory of the Digital Computer(Greenwood,1983),79. See also Computer History Museum,“George Stibitz,”http://www.computerhistory.org/revolution/birth-of-the-computer/4/85.

霍华德·艾肯

同样也是在1937年,一位叫作霍华德·艾肯(Howard Aiken)的哈佛博士研究生正在准备自己的物理学论文。他发现论文中复杂冗长的计算很难使用加法机来完成,于是他游说学校建造一台更加先进的计算机。他的系主任告诉他,哈佛科学中心的阁楼中存放了一些铜制齿轮,它们来自一台拥有百年历史的设备,也许这就是他想要的东西。艾肯在这个阁楼中发现了差分机的其中一个演示模型,查尔斯·巴贝奇的儿子亨利曾经建造和分发了6个这样的模型。艾肯开始迷上了巴贝奇的机器,还将这组铜制齿轮搬回了自己的办公室。“毫无疑问,我们拿到了来自巴贝奇的两个齿轮,”他回忆道,“它们正是我后来装进计算机里面的齿轮。”Howard Aiken oral history,conducted by Henry Tropp and I. Bernard Cohen,Smithsonian Institution,Feb. 1973.

同年秋天,正当斯蒂比兹在厨房桌子上捣弄复数计算器的演示模型的时候,艾肯写出了一份长达22页的备忘录,随后把它交给了就职于IBM的哈佛前辈和高管人员,希望说服他们资助建造一台现代版本的巴贝奇数字机器。“人们总是想节约算术计算所需的时间和脑力劳动,同时消除出现人为计算错误的可能性,这个愿望的存在时间也许跟算术本身一样长。”他在备忘录的开头这样写道。Howard Aiken,“Proposed Automatic Calculating Machine,”IEEE Spectrum,Aug. 1964;Cassie Ferguson,“Howard Aiken: Makin’ a Computer Wonder,”Harvard Gazette,Apr. 9,1998.

来自印第安纳州的艾肯在一个艰苦的家庭环境下长大。在12岁的时候,他曾经用一根壁炉拨火棍阻止了酗酒的父亲对自己母亲的虐待。后来他父亲离家出走,留下一贫如洗的两母子相依为命。为了贴补家用,年轻的霍华德在九年级时就辍学去打工了。他先做了一段时间的电话安装员,然后在本地的电力公司找到了一份夜班工作,这样他就可以利用白天的时间学习技术学校的课程。他不断地迫使自己追求成功,但是他在这个过程当中逐渐成为一个脾气火暴的指挥者,有人说他就像是一座移动的火山。I. Bernard Cohen,Howard Aiken: Portrait of a Computer Pioneer(MIT,1999),9.

哈佛大学内部对于艾肯提出的计算机器制造项目反响不一,也不确定这个学术性不足的“实用”项目会不会影响他获得终身教职的机会(在哈佛的部分教员眼中,被称为“实用”其实是一种冒犯,他们更愿意保持自己的“学术性”)。哈佛大学的校长詹姆斯·布赖恩特·科南特(James Bryant Conant)对艾肯表示支持。身为国防研究委员会主席的科南特希望将哈佛大学定位成连接学术界、工业和军方三个领域的纽带。然而,艾肯所在的物理系则表现得更为“纯粹”。物理系主任在1939年12月给科南特写了一封信,他表示这台机器“如果可以筹资建造固然是一件好事,但它不一定比其他研究更有价值”。而教师委员会对艾肯的评价是:“他应该清楚地知道,这样的活动不会让他更有可能被提升为教授。”科南特最终力排众议,批准艾肯建造他的机器。Kurt Beyer,Grace Hopper and the Invention of the Information Age(MIT,2009),75.

1941年4月,艾肯离开了哈佛大学,应征加入美国海军,这时IBM正在位于纽约恩迪科特的实验室中按照艾肯的设计建造马克一号(Mark I)。艾肯以海军少校的身份在弗吉尼亚州的海军水雷战学校(Naval Mine Warfare School)任教了两年的时间。学校的一位同事对他的描述是:“全身上下都是冗长的数学公式和来自哈佛的学究理论……却混进了一群连微积分和玉米饼都分不清的南方粗汉当中。”Cohen,Howard Aiken,115.他在海军服役的大部分时间里都在牵挂马克一号,他有时还会身穿全套军装前往恩迪科特视察它的建造进度。Cohen,Howard Aiken,98 and passim.

此次参军为艾肯带来了一项重大的回报:1944年年初,正当IBM准备将制作完成的马克一号交给哈佛大学时,艾肯成功地说服海军接管这台机器,并把他任命为马克一号的主管军官。这点可以帮助他绕过哈佛大学的学术官僚体制——哈佛大学到此时仍然在犹豫是否应该授予艾肯终身教职。哈佛计算实验室暂时成了一个隶属于海军的设施,在这里工作的所有职员都是身穿军服的海军官兵。艾肯把自己的手下叫作“船员”,他们则称他为“中校”,而且大家在提起马克一号的时候都会用“她”来称呼,就像是把“她”看成是一艘军舰一样。Beyer,Grace Hopper,80.

哈佛的马克一号借鉴了巴贝奇的很多想法。这是一台数字化的机器,不过它没有采用二进制,它的齿轮表示的是十进制数字。它有一根50英尺长的转轴,上面装有72个计数器,每个计数器可以储存长达23位的数字。完整的机器重量为5吨,长80英尺,宽50英尺。机器的转轴和其他活动部件是通过电力驱动的,但它的计算速度并不快。这是因为它没有采用电磁继电器,而是使用了机械继电器,这种继电器的每次开关都是由电动马达完成的。它计算一次乘法大概要花六秒钟的时间,相比之下,斯蒂比兹的机器只需一秒钟。不过它确实具备了现代计算机的一个基本功能:它是完全自动化的。程序和数据的输入都通过纸带完成,而且它还可以在没有人为干预的情况下连续运作多日。因此艾肯对马克一号的评价是“巴贝奇的梦想实现了”。Ceruzzi,Reckoners,65.

康拉德·楚泽

这些在1937年涌现的计算机先驱们都不知道的是,他们的工作成果竟然不如一位在父母家中做研究的德国工程师。康拉德·楚泽(Konrad Zuse)当时正在进行一台能够从打孔纸带读取指令的二进制计算器的原型设计。这台机器先后经过了多次改进,不过它的第一个版本“Z1”只是一台机械机器,它并非使用电力驱动,也不含有任何电子元件。

跟许多数字时代的先驱一样,楚泽从小就对艺术和工程学非常感兴趣。从工程学院毕业之后,他得到了一份应力分析员的工作,在柏林的一家飞机制造公司上班,他的工作内容是求解含有材料负载、强度和弹性等系数的线性方程。即使在机械计算器的帮助之下,一个人也几乎不可能在一天之内解出含有6个未知数的联立线性方程。如果线性方程的变量达到25个的话,求解过程将需要一年的时间。因此楚泽非常希望可以将数学方程的冗长求解过程机械化,很多先进的计算设备都是在这个愿望的驱使下发明的。他当时住在父母的家中——位于柏林滕佩尔霍夫机场附近的一所公寓,并把他们的起居室改装成自己的工作室。Horst Zuse(son),The Life and Work of Konrad Zuse,http://www.horst- zuse.homepage.t-online.de/Konrad_Zuse_index_english_html/biography.html.

在楚泽制造的第一台计算机中,二进制数会被储存在多块布满插槽和插针的薄钢板当中,这个装置是由楚泽和他的朋友们使用线锯做出来的。他最初是使用打孔纸带来输入数据和程序,不过他很快就改用了废弃的35毫米电影胶片,因为这种材料不仅强度更高,而且成本也比纸张更低。这台Z1计算机在1938年制成,它可以用于解决部分数学问题,但是它的运作过程不太可靠。这台机器的所有零件都是手工制造的,所以它们很容易会出现故障。遗憾的是楚泽没有在贝尔实验室这样的地方工作,也没有参与到哈佛大学和IBM这样的合作项目当中,不然他就可以在其他工程师的协助下更好地发挥出自己的才能。

然而,Z1计算机确实证明了楚泽设计的逻辑概念在理论上是可行的。楚泽在制造Z1的过程中得到了大学校友赫尔穆特·施莱尔(Helmut Schreyer)的帮助,后者强烈建议他们应该制造另外一台使用电子真空管取代机械开关的计算机。如果他们马上这样做的话,那么他们将会成为历史上第一台可行的现代计算机(二进制、电子化和可编程的计算机)的发明者。但是在咨询过工程学院的专家之后,楚泽发现自己无法承受一台含有接近2 000个真空管的设备的制造成本。Konrad Zuse archive,http://www.zib.de/zuse/home.php/Main/KonradZuse;Ceruzzi,Reckoners,26.

于是在制造Z2计算机的时候,他们决定使用从电话公司收购回来的二手机电继电器开关,虽然它们的运行速度远远比不上真空管,但是更为耐用和廉价。他们最终制造了一台使用继电器作为运算器的计算机。但是它仍然采用了机械存储器,也就是带有活动插针的薄钢板。

楚泽在1939年开始研制自己的第三台计算机Z3,这台机器的运算器、存储器和控制器都采用了机电继电器。Z3计算机在1941年制造完成,它是第一台完全可行的通用可编程数字计算机。虽然它无法直接处理程序中的条件转移,但是它在理论上可以实现一台通用图灵机的功能。它与后来的计算机的主要区别在于它使用的是笨重的电磁继电器,而不是像真空管和晶体管这样的电子元件。

楚泽的好友施莱尔随后写了一篇题为《电子管继电器及其开关技术》的博士论文,他在论文中提倡使用真空管来制造快速高效的计算机。但当他和楚泽在1942年向德国陆军提出这个想法时,高级军官们表示他们有信心在两年之内打赢这场战争,所以就没有必要花同样的时间制造一台用不上的机器。Horst Zuse,The Life and Work of Konrad Zuse,part 4;Ceruzzi,Reckoners,28.与计算机相比,他们对制造兵器更感兴趣。于是楚泽被迫离开了计算机的研究工作,重新回到了飞机制造的岗位。1943年,盟军对柏林实施空袭,楚译的计算机和设计手稿都在这场空袭当中被炸毁了。

虽然楚泽和斯蒂比兹的研究工作是互相独立的,但他们都想出了采用继电器开关来制作可以处理二进制计算的电路。在战争的隔绝之下,为什么这两个团队会在同一时间出现这个想法呢?有一部分原因是技术和理论的进步造就了成熟的时机。跟许多创新者一样,楚泽和斯蒂比兹都对继电器在电话电路中的应用非常熟悉,而将这种应用结合到数学和逻辑学的二进制运算也是顺理成章的事情。同样对电话电路了如指掌的香农也做出了一项相关的理论突破,就是电子电路能够执行布尔代数中的逻辑任务。不久后,世界各地的研究人员都开始认识到数字电路将会成为计算技术的关键,这种想法甚至深入到了艾奥瓦州中部这样偏僻的地区。

约翰·文森特·阿塔纳索夫

在一个远离楚泽和斯蒂比兹的地方,另外一位发明者也在1937年使用电子电路做实验。在艾奥瓦州的一个地下室中,他正在埋头进行下一项历史性的发明:一台部分使用真空管制成的计算设备。这台机器在某些方面不如同一时期的其他计算机先进:它既不能进行编程,也无法实现多种功能。他在机器中加入了一些运行缓慢的机械活动元件,所以它也不是一台完全电子化的设备。尽管他制造出了一个在理论上可用的模型,不过他无法使它完全可靠地运行。但无论如何,约翰·文森特·阿塔纳索夫(John Vincent Atanosoff,他的妻子和朋友们都叫他“文森特”)仍然应该得到这个称号——构想出第一台部分电子化的数字计算机的先驱。这个想法是他在1937年12月的一个晚上的长途驾驶途中突然出现的。一些著作对约翰·阿塔纳索夫的故事以及他应得的名誉进行了激烈的争论。他与ENIAC的发明者约翰·莫奇利和普雷斯伯·埃克特之间展开了一场历史和法律的斗争。专门讲述阿塔纳索夫的著作主要有四本,它们的作者都尝试在这场争论中站在支持他的一方。Alice Burks,Who Invented the Computer?(Prometheus,2003;locations refer to Kindle edition),is partly based on the documents of the legal battle. Alice Burks and Arthur Burks,The First Electronic Computer: The Atanasoff Story(University of Michigan,1988),这是一本出版时间更早、技术性更强的书;Arthur Burks是ENIAC团队的一位工程师,他对埃克特和莫奇利的工作起到了关键的作用。Clark Mollenhoff,Atanasoff: Forgotten Father of the Computer(Iowa State,1988),本书作者是一位普利策奖得主,他是Des Monies Register报社华盛顿分社的主编,在听说了阿塔纳索夫的故事之后,他希望重新建立阿塔纳索夫的历史地位。Jane Smiley,The Man Who Invented the Computer(Doubleday,2010),本书作者是一位著名小说家,她对计算机历史有深入的研究,她后来成为阿塔纳索夫的支持者。For the personal background and involvement of Alice and Arthur Burk,see their“Memoir of the 1940s,”Michigan Quarterly Review,Spring 1997,http://hdl.handle.net/2027/spo.act2080.0036.201. This section also draws on Allan Mackintosh,“Dr. Atanasoff ’s Computer,”Scientific American,Aug. 1988;Jean Berry,“Clifford Edward Berry: His Role in Early Computers,”Annals of the History of Computing,July 1986;William Broad,“Who Should Get the Glory for Inventing the Computer?”New York Times,Mar. 22,1983.

阿塔纳索夫出生于1903年,他是家中7个孩子的老大。他的父亲是一位来自保加利亚的移民,母亲是新英格兰地区一个最为古老的家族的后代。他父亲先在新泽西州一家由托马斯·爱迪生开办的发电站担任工程师,后来举家搬到了佛罗里达州坦帕市南边的一个郊区小镇上。在9岁的时候,文森特已经可以帮助父亲安装新居的电线,之后他父亲送了一把计算尺给他。“那把计算尺是我的最爱。”他回忆道。John Atanasoff,“Advent of Electronic Digital Computing,”Annals of the History of Computing,July 1984,234.他从小开始学习对数,他在回忆录中对此进行了郑重的描述,但他的学习兴趣还是显得有点与众不同:“你能想象一个满脑子想着打棒球的小男孩会被这种知识改变吗?在严格的对数学习面前,棒球的吸引力就几乎变为零了。”他在那年夏天就已经计算出了以e为底5的对数,后来在母亲的帮助下(她曾经是一位数学教师),他在读初中的时候就已经学会了微积分。身为电气工程师的父亲还带他去参观了自己工作的磷酸盐工厂,并向他展示了发电机的工作原理。青年时期的文森特性格谦逊,富有创意,而且才智过人,他在两年之内就完成了高中的课程,而且在双倍的课程负担下仍然拿到了全“A”的毕业成绩。

他随后进入了佛罗里达大学学习电气工程专业。他在大学期间更加倾向于动手实践,经常出没于大学的机械车间和铸造厂。他同时还保持了对数学的热爱,他在大一的时候就学习了一种涉及二进制算法的证明法。聪明、自信的阿塔纳索夫以当时最高的平均绩点获得学士学位。他接受了艾奥瓦大学提供的奖学金,前往那里攻读数学和物理学的硕士学位,尽管他后来也被哈佛大学录取了,但他还是坚持了自己的决定,毅然前往位于玉米种植带的埃姆斯市继续深造。

在硕士毕业之后,阿塔纳索夫转入威斯康星大学继续攻读物理学博士学位。从巴贝奇开始,许多计算机先驱都遇到过同样的问题,阿塔纳索夫也不例外,他在研究氦气在电场中的极化方式时需要进行大量复杂的计算。在使用桌面加法机艰难地完成这些计算工作的过程中,他开始酝酿发明一台更强大的计算器的想法。1930年,他回到艾奥瓦州州立大学担任助理教授,这时他确信自己在电气工程学、数学和物理学方面的水平已经足以让他胜任这项发明工作。

他没有选择留在威斯康星大学,也没有进入哈佛大学或者其他同等水平的大型研究性大学,这些决定将对他的研究工作产生不利的影响。在艾奥瓦州州立大学,没有其他人研究制作新型计算器的方式,所以阿塔纳索夫只能孤军作战。他有时确实能提出一些新的想法,但是苦于身边没有人可以跟他交流或者帮助他克服理论和工程上的瓶颈。跟数字时代的大部分创新者都不一样的是,他是一个孤独的发明者。他只能在独自驾车的路上或者和一位研究生助理的讨论中获得灵感。这点最终被证明是他在研究工作上的阻碍。

阿塔纳索夫最初的想法是制造一台模拟设备。由于他非常喜欢计算尺的设计,所以他先尝试了使用长胶卷来制作一把超大型的计算尺。但是他发现如果要达到求解线性代数方程所需的精度,这把计算尺将需要使用长达数百码的胶卷。他还制作了一个用于切割石蜡堆的装置,它可以通过这种方式来计算偏微分方程。这些模拟设备的种种限制让他不得不将注意力转向数字设备的制作。

他首先着手解决的问题是如何在机器中储存数字。他采用了“记忆”(memory)一词来描述这个功能:“当时我对巴贝奇的工作只有粗略的了解,所以我不知道他将同样的概念称为‘仓库’(store)……我喜欢他的用词,如果我当时知道的话,也许我也会采用这个名称;不过我也喜欢‘记忆’这个词,因为它将这项功能比喻成人的大脑。”Atanasoff,“Advent of Electronic Digital Computing,”238.

阿塔纳索夫仔细筛选了一系列可能用作存储器的元件:机械插针、电磁继电器、可以被电荷极化的小块磁性材料、真空管以及一种小型的电容器(condenser)。其中速度最快的是真空管,但是它的价格太高了。所以他最后选择了电容器,这种元件具有体积较小和价格低廉的特点,而且能够短暂地储存电荷。这是一个可以理解的决定,但是使用电容器制成的机器会比较缓慢和笨重。虽然它在计算加法和减法时可以达到电子元件的速度,但是存储器存取数字时的速度将会下降至机械鼓轮的水平。

在确定了存储器使用的元件之后,阿塔纳索夫开始将注意力转向算术逻辑单元的制作,他将这个部分称为“计算机构”(computing mechanism)。他认为这个元件应该完全电子化,也就是需要使用价格昂贵的真空管。这些真空管将会起到通断开关的作用,在电路中实现逻辑门的功能,其中包括加法、减法和任意的布尔运算。

乔治·斯蒂比兹(1904—1995),照片约摄于1945年

康拉德·楚泽(1910——1995)与Z4计算机,照片摄于1944年

约翰·阿塔纳索夫(1903——1995)在艾奥瓦州州立大学,照片约摄于1940年

阿塔纳索夫计算机的复制品

接下来出现了一个他从小就喜欢探究的数学理论问题:他应该在这台机器中采用什么数字系统呢?十进制、二进制,还是其他的进位制?作为数字系统的狂热爱好者,阿塔纳索夫研究过多种不同的选择。“百进制一度被认为是比较有希望的数字系统,”他在一篇未发表的论文中写道,“在同样的计算下,以自然底数e为基础的进位制在理论上可以实现最快的计算速度。”Atanasoff,“Advent of Electronic Digital Computing,”243.但是为了在理论与实际之间取得平衡,他最终决定采用二进制系统。到了1937年年底,他的脑海中充斥着许多不同的想法——各种各样的概念就像是“大杂烩”一样无法“融合”在一起。

阿塔纳索夫是个爱车之人,如果可以的话,他希望每年都买一辆新车。1937年12月,他新买了一辆配备强力V8发动机的福特轿车。他在一天深夜开着这辆新车外出散心,而这段路程将会成为计算机历史上的一个重要节点。

在1937年冬天的一个晚上,长时间的计算机研究工作已经使我的身心不堪重负。于是我开着自己的汽车,在路上高速行驶了很长一段时间,这样可以帮助我控制自己的情绪。我平常喜欢像这样驾车兜兜风:我可以通过专心驾驶来调节自己。不过那天晚上我感到压力特别大,所以我一路开过了密西西比河。到我停下来的时候,车子已经驶入了伊利诺伊州境内,那里距离我的出发点已有189英里的路程。Katherine Davis Fishman,The Computer Establishment(Harper and Row,1981),22.

他把车子驶离了公路,在一家路边的酒馆停了下来。伊利诺伊州跟艾奥瓦州不一样,他至少可以在这里轻易地找到喝一杯的地方。他给自己点了一杯波本威士忌苏打,喝完之后又再点了一杯。“我觉得自己没有那么焦虑了,而且我的思路开始重新进入计算机器的问题上,”他回忆道,“我不知道为什么之前没有想通的东西突然之间豁然开朗,我只是觉得自己进入了一种忘我的状态,周围也变得很安静。”酒馆女侍应的服务不甚周到,因此阿塔纳索夫可以在不被打扰的情况下继续研究他的问题。Atanasoff testimony,Honeywell v. Sperry Rand,June 15,1971,transcript p. 1700,in Burks,Who Invented the Computer?,1144. The archives for the trial are at the University of Pennsylvania,http://www.archives.upenn.edu/faids/upd/eniactrial/upd8_10.html,and at the Charles Babbage Institute of the University of Minnesota,http://discover.lib.umn.edu/cgi/f/.ndaid/.ndaid-idx?c=umfa;cc=umfa;rgn=main;view=text;didno=cbi00001.

他在一张餐巾纸上写下了自己的想法,然后开始整理一些实际问题的思路。其中最重要的是如何补充电容器中的电荷,否则它们的电量将会在一到两分钟之内耗尽。他想到的方法是将电容器装在旋转的圆柱形鼓轮里面,这种鼓轮的大小相当于46盎司V8蔬菜汁的罐子。在鼓轮旋转的过程中,电容器会以每秒一次的频率与电线做成的刷子进行接触,这个过程可以恢复电容器内部的电荷。“在酒馆度过的那个晚上,我思考了制作再生式存储器的可能性,”他表示,“我当时将这个过程称为‘唤起’(jogging)。”圆柱鼓轮每转动一圈,电线就会唤起电容器的“记忆”,然后在有必要的时候从电容器提取数据,并保存新的数据。他还想出了一种构造,它可以从两个不同的电容器鼓轮提取数字,然后使用真空管电路对它们进行加减计算,最后将结果放回存储器中。在经过了数个小时的思考之后,他回忆道:“我开始驾车回家,我在这段路上放慢了车速。”Atanasoff testimony,transcript p. 1703.


1939年5月,阿塔纳索夫已经准备好开始制造一台原型机器。他需要一位助手,最好是一位拥有工程学经验的研究生。一天,大学里的一位同事告诉他:“我知道一位你要找的人。”这个人叫作克利福德·贝瑞(Clifford Berry),他的父亲也是一位自学成才的电气工程师。阿塔纳索夫和贝瑞很快就建立了合作关系。Atanasoff,“Advent of Electronic Digital Computing,”244.

这台机器的设计和制造都是围绕一个目的展开的:求解联立线性方程。它可以处理多达29个方程变量。在每个计算步骤中,阿塔纳索夫的机器都可以处理两个方程并消去其中一个变量,然后将计算得出的方程打印在8×11格的二进制打孔卡片上。记录了经过简化的方程的卡片会被重新输入机器,进行新一轮的计算并消去另外一个变量。这个过程需要相当长的一段时间。这台机器(如果不出故障的话)需要花费几乎一个星期的时间才能计算出含有29个方程的方程组。不过人工使用桌面计算器计算同样的方程组则需要10个星期的时间。

为了筹集制造一台完整机器所需的资金,阿塔纳索夫在1939年年底展示了一台原型机,并使用复写纸写出了几份长达35页的计划书。“本文的主要目的是描述和说明一台计算机器,它的主要设计用途是求解大型线性代数方程组。”他在计划书的开头写道。就像是为了给这台只能实现有限功能的大型机器辩护一样,阿塔纳索夫详细列出了求解这种方程所需解决的问题:“曲线拟合……振动问题……电路分析……弹性结构。”他在计划书的结尾给出了一份详尽的预计制造成本清单,成本总额高达5 330美元。他最终通过一家私有基金筹集到了这笔资金。John Atanasoff,“Computing Machine for the Solution of Large Systems of Linear Algebraic Equations,”1940,available online from Iowa State,http://jva.cs.iastate.edu/img/Computing%20machine.pdf. For detailed analysis,see Burks and Burks,The First Electronic Computer,7 and passim.随后阿塔纳索夫把计划书的一份副本寄给了芝加哥的一位专利代理律师,然而这位受雇于艾奥瓦州州立大学的律师一直没有提交这份专利申请,他的玩忽职守导致了一段长达数十年的历史和法律争议。


1942年9月,阿塔纳索夫的完整机器已经接近制造完成。它的大小相当于一张书桌,内部含有接近300个真空管。不过它有一个无法解决的问题:它本来是利用火花来烧出打孔卡片上的孔洞的,但是这个机制一直无法正常运作,而且艾奥瓦州州立大学也没有能够帮助解决这个问题的机械师和工程师团队。

就在这个时候,他的计算机研究工作中断了:为了响应美国海军的征召,阿塔纳索夫加入了位于华盛顿特区的海军装备实验室。他在那里负责声波水雷的研究,后来又参与了在比基尼环礁进行的原子弹试验。尽管他的研究重点从计算机转向了军械工程,但他仍然是一个发明家,他在服役期间获得了30项专利,其中包括一台扫雷设备。但是他在芝加哥聘用的律师却一直没有为他的计算机申请专利。

阿塔纳索夫的计算机本来应当是一个重要的里程碑,但它最终还是沦为了历史的尘埃——无论从字面意义还是寓意上来说都是如此。这台几乎可以正常运行的机器被存放在艾奥瓦州州立大学物理系教学楼的地下室中,但是几年过后,似乎已经没有人记得这台机器是用来做什么的了。到了1948年,当学校需要空出这块场地另作他用时,一位不知情的研究生就把它拆卸了,并丢弃了大部分被拆下的零件。Robert Stewart,“The End of the ABC,”Annals of the History of Computing,July 1984;Mollenhoff,Atanasoff,73.于是,许多早期写成的计算机发展史甚至都没有提及阿塔纳索夫的名字。

即使这台机器可以正常运作,但它还是存在一些限制。它采用的真空管电路可以飞快地完成计算,但是机械驱动的存储器却将整体的处理速度大幅拉低了。在打孔卡片上烧出孔洞也是非常低效的做法,更何况这种方式本来就难以实现。如果要做到真正的快速运算,现代计算机必须实现完全电子化,不能只采用部分电子元件。另外,阿塔纳索夫的机器也不能进行编程,它只适用于完成一项任务:求解线性方程。

阿塔纳索夫的传奇故事一直为人津津乐道的地方在于,他是一位在地下室中工作的孤独匠人,在他身边只有一位年轻助手克利福德·贝瑞的陪伴。然而,他的故事正是我们不应该传奇化这种孤独者的明证。正如在自己的小型工坊埋头苦干的巴贝奇,同样只有一位助手的阿塔纳索夫也从来没有造出过一台完全可行的机器。如果他在贝尔实验室,他身边就会有一大群可以为他提供帮助的技术人员、工程师和修理工;或者如果身处一所大型的研究性大学,他也很有可能找出解决机器的读卡器和其他难题的方法。再者,当他在1942年被征召进入海军服役时,学校里面也应该留有团队成员继续完善这台机器,他们至少可以记得这台机器的用途。

阿塔纳索夫本来应该是一个会被历史遗忘的人物,但讽刺的是,最终让他免于成为历史注脚的却是一个让他愤愤不平的事件。他在1941年6月接待了一位访客,跟孤军奋战的阿塔纳索夫不一样,这位访客喜欢到处访问,他能够将自己了解到的想法融会贯通,然后与其他人一起合作研究。约翰·莫奇利(John Mauchly)的艾奥瓦州之旅引出了后来的一系列代价高昂的法律诉讼、严厉的指责和相持不下的历史争论。但是这个事件也让阿塔纳索夫得到了应得的名誉,同时推动了计算机历史的发展。

约翰·莫奇利

正如英国之前出现过的情况,美国在20世纪初也逐渐出现了一批绅士科学家。他们会聚集在木板铺就的探索者俱乐部和其他高级研究机构当中,分享各自的想法、聆听讲座并参与合作项目。约翰·莫奇利就是在这样的环境下成长的。他父亲是一位物理学家,在卡内基研究院的地磁学部门担任首席研究员。卡内基研究院位于华盛顿特区,它是全国首个致力于促进科学进步和共享科研成果的机构。莫奇利父亲负责的工作是记录大气中的电场情况,并找出电场变化与天气之间的联系。这是一个需要多家研究机构互相协作的项目,参与这个项目的研究人员遍布全球各地。This section draws on John Mauchly oral history,conducted by Henry Tropp,Jan 10,1973,Smithsonian Institution;John Mauchly oral history,conducted by Nancy Stern,May 6,1977,American Institute of Physics(AIP);Scott McCartney,ENIAC(Walker,1999);Herman Goldstine,The Computer from Pascal to von Neumann(Princeton,1972;locations refer to Kindle edition);Kathleen Mauchly,“John Mauchly’s Early Years,”Annals of the History of Computing,Apr. 1984;David Ritchie,The Computer Pioneers(Simon & Schuster,1986);Bill Mauchly and others,“The ENIAC”website,http://the-eniac.com/first/;Howard Rheingold,Tools for Thought(MIT,2000);Joel Shurkin,Engines of the Mind: A History of the Computer(Washington Square Press,1984).

莫奇利在华盛顿郊区的切维蔡斯镇长大,从小就受到了在这个地区不断增进的科学氛围的熏陶。“切维蔡斯似乎聚集了整个华盛顿的科学家,”他得意地说道,“美国标准局的计量部和无线电部的部长都住在我家附近。”史密森尼学会的会长也是他的邻居。莫奇利每逢周末都会使用桌面加法机帮助父亲完成工作上的计算,并逐渐对数据驱动的气象学产生了浓厚的兴趣。他也非常喜欢研究电路。他曾经和周围的小伙伴一起将各自家中的对讲装置连接起来,还制作过一些用于在聚会上发射烟火的遥控装置。“在我按下按钮之后,烟火一下子就蹿到了50英尺高。”在14岁的时候,他还通过帮助邻居修理家中损坏的电线赚取零花钱。John Costello,“The Twig Is Bent: The Early Life of John Mauchly,”IEEE Annals of the History of Computing,1996.

在约翰·霍普金斯大学完成本科学习后,成绩优异的莫奇利被破格录取为物理学系的博士研究生。他的博士论文是关于光谱分析的,他选择这个课题的原因是它结合了美感、实验和理论。“你必须具有足够的理论基础才能明白不同的光谱代表什么,但你同时还需要通过实验获取光谱的照片,那么有谁会帮你完成这些工作呢?”他说道,“没有,你只能靠自己。所以我进行了包括玻璃吹制、抽取真空和查找泄露在内的大量技能培训。”Mauchly oral history,AIP.

莫奇利富有人格魅力,而且十分擅长(和热衷于)解释事物,所以他后来成为一位教授也是顺理成章的事情。要在大萧条时期找到一份大学教授的工作可不是一件易事,但他还是在乌西纳斯学院(Ursinus College)谋得了一份教职,这所大学位于距费城一小时车程的西北郊区。“我是那里唯一一个教物理的人。”他说道。Costello,“The Twig Is Bent.”

在莫奇利的个性当中,一个最为突出的特点是热衷于分享思想(他在分享的时候通常都会满脸笑容,眼里透出一种热切的情感),这点使他成为一个大受学生欢迎的老师。“他喜欢与人交流,而且他似乎可以从对话当中吸收其他人的想法,”他的一位同事回忆道,“约翰喜欢社交场合,喜欢美食和好酒。他喜欢美女,喜欢有魅力的年轻人,也喜欢头脑聪明和与众不同的人。”McCartney,ENIAC,82.向他请教问题是一件危险的事情,因为他总会充满激情地跟你谈论上至天文、下至地理的各种话题。

上课对莫奇利来说就像是表演一样。在解释动量的时候,他会张开双臂在原地旋转,然后突然停下来。在描述作用力与反作用力的概念时,他会站在一块自制的滑板上左右摇晃,有一年他在表演这个动作时还意外地摔断了一只手臂。每年的圣诞节前夕,人们都会慕名前来听他的期末讲座。为了容纳全部的访客,学校甚至将这场讲座设在全校最大的礼堂进行。他会在这堂课上讲述如何利用光谱学和其他物理手段检测密封包裹的内容。根据他妻子的回忆,“他会测量包裹的尺寸,然后称量它的重量。他还会把它放到水中,或者用一根长针插进里面。”Kay McNulty Mauchly Antonelli,“The Kathleen McNulty Mauchly Antonelli Story,”Mar. 26,2004,ENIAC website,https://sites.google.com/a/opgate.com/eniac/Home/kay-mcnulty-mauchly-antonelli;McCartney,ENIAC,32.

从小就热衷于气象学的莫奇利在20世纪30年代初的主要研究课题是:长期的气候变化是否与太阳耀斑、太阳黑子和太阳自转有关。卡内基研究院和美国气象局的科学家们向他提供了来自200个监测站在20年来收集到的日常数据,他开始利用这些数据计算出他想要找到的关联。他先以非常低的价格向濒临破产的银行收购了一批二手桌面计算器(当时正处于大萧条时期),然后通过国家青年管理局招募了一批年轻人,以50美分的时薪聘请他们帮他完成计算工作。Ritchie,The Computer Pioneers,129;Rheingold,Tools for Thought,80.

跟其他需要在工作中进行大量复杂计算的人一样,莫奇利也希望发明一台可以完成这些计算的机器。作为一个善于社交的人,他开始四处了解其他人正在做的事情,并将了解到的想法融会贯通——这是伟大创新者之间的一个共同点。在1939年纽约世博会的IBM展厅里,他看到了一台使用打孔卡片的电子计算器,但考虑到自己需要处理的数据量,他认为卡片的处理速度太慢了。他还看到了一台使用真空管加密信息的机器。这种真空管可以用于其他的逻辑电路吗?后来他带着自己的学生到斯沃斯摩尔学院进行实地考察,这次考察的目的是参观那里的计数设备,它们采用了真空管电路来测量宇宙射线爆发的电离现象。McCartney,ENIAC,34.他还专门修读了一门电子学的夜间课程,并开始试验自己亲手制作的真空管电路,研究它们还可以实现怎样的功能。

1940年9月,莫奇利参加了一场在达特茅斯学院举行的技术大会。他在大会上观看了由乔治·斯蒂比兹亲自主持的“复数计算器”演示。这场演示最令人兴奋的一点是,这台计算机本身被放置在位于下曼哈顿区的贝尔实验室大楼里面,它是通过一条电传打字机的线路将数据传输到会场中的。这是世界上第一台远程使用的计算机。演示当中有一个时长三小时的解答环节,斯蒂比兹的计算器会在这段时间内解决现场观众提出的问题,最终它对每个问题的解决时间约为一分钟。信息系统的先驱诺伯特·维纳(Norbert Wiener)也观看了这场演示,他当时要求它将一个数字除以0,试图用这个问题为难它,但这台机器没有落入他的圈套。当时在场的还有约翰·冯·诺依曼,这位来自匈牙利的博学大师很快将会与莫奇利一起成为计算机发展史上的主角。Kathleen Mauchly,“John Mauchly’s Early Years.”

当他决定要制造一台自己的真空管计算机之后,莫奇利做了一件表现出优秀创新者特点的事情:总结自己在四处考察期间所了解到的全部信息。由于乌西纳斯学院没有提供研究经费,所以莫奇利只能自费购买真空管,他甚至尝试过直接向制造商讨要真空管。他给至上仪器集团(Supreme Instruments Corp.)写了一封信,请求对方为自己提供一些电子元件,他在信中表示:“我打算制造一台电子计算机器。”McCartney,ENIAC,36.他在访问美国无线电公司期间发现了氖管也可以用作开关,虽然它的速度比不上真空管,但是价格更低。他当时以每件8美分的价格收购了一批氖管。“在1940年11月之前,”他的妻子后来说道,“莫奇利已经成功地为自己构思的计算机测试了部分电子元件,并且确信自己可以造出一台廉价、可靠且完全采用电子元件的数字设备。”她坚称莫奇利在听说阿塔纳索夫的名字之前就已经做到了这点。Kathleen Mauchly,“John Mauchly’s Early Years.”

莫奇利在1940年年底向几位朋友透露了自己的心声:希望将自己了解到的信息整合起来,然后制造出一台数字式电子计算机。“我们目前正在考虑建造一台电子计算机器,”他在当年11月给一位曾经共事过的气象学家的信中写道,“这台采用真空管继电器的机器将可以在1/200秒左右完成一次操作。”John Mauchly to H. Helm Clayton,Nov. 15,1940.尽管他热衷与人合作,而且他当时还处于资料收集阶段,但他已经表现出了自己的好胜心——他希望成为第一个制成新型计算机的人。他在同年12月给一位以前的学生写了一封信,信中说道:“以下的信息请不要外传,我打算制造一台电子计算机器,如果材料准备妥当的话,它大概会在一年之后完成……请对此事保密,因为我现在还没有把这台设备做出来,而且我想要成为‘第一人’。”John Mauchly to John de Wire,Dec. 4,1940;Kathleen Mauchly,“John Mauchly’s Early Years.”


同样也是在1940年12月,莫奇利遇见了阿塔纳索夫,两人的这次会面引发了后来的一连串事件。莫奇利喜欢从不同来源收集信息的习惯,以及他急于成为“第一人”的愿望也因此受到了人们长期的质疑。阿塔纳索夫当时正在宾夕法尼亚大学参加一个会议,他在会议上恰好听到了莫奇利的一场演讲,后者在演讲中表示自己想要制造一台用于分析天气数据的机器。会议过后,阿塔纳索夫来到了莫奇利的面前,他说自己正在艾奥瓦州州立大学建造一台电子计算器。莫奇利在自己的会议日程表上记下了阿塔纳索夫所说的话——他已经设计了一台可以处理和储存数据的机器,而且它的计算成本仅为每数位2美元(阿塔纳索夫的机器总共可以处理3 000个数位,而它的制造成本约为6 000美元)。莫奇利对此大感惊讶。他估计真空管计算机的成本接近每数位13美元。他说自己想要看看它是怎么做出来的,于是阿塔纳索夫便邀请他去艾奥瓦州一趟。

莫奇利在1941年上半年一直与阿塔纳索夫保持通信,他仍然难以想象阿塔纳索夫提出的超低成本计算机器。“你所说的每数位低于2美元的成本听起来非常不可思议,但这正是我从你那里理解的意思,”他在信中写道,“你之前邀请我访问艾奥瓦州的提议似乎只是突发奇想,不过现在我对这个想法越来越感兴趣了。”阿塔纳索夫敦促莫奇利尽快接受这项邀请。“如果这样更能吸引你的话,届时我将会向你解释这每数位2美元的成本是怎么来的。”阿塔纳索夫保证道。Mauchly to Atanasoff,Jan. 19,1941;Atanasoff to Mauchly,Jan. 23,1941;Mauchly oral history,Smithsonian;Burks,Who Invented the Computer?,668.

莫奇利拜访阿塔纳索夫

这场具有宿命意义的拜访发生在1941年6月,总共持续了四天的时间。The battle over what happened was fought out in the Annals of the History of Computing,with multiple article,comments,and bitter letters. This section and that on the legal battle, below, derive from them. They include Arthur Burks and Alice Burks,“The ENIAC: First General-Purpose Electronic Computer,”with comments by John Atanasoff,J. Presper Eckert,Kathleen R. Mauchly,and Konrad Zuse,and a response by Burks and Burks,Annals of the History of Computing,Oct.1981,310-99(more than eighty pages of this issue were devoted to the assertions and rebuttals,prompting some discomfort on the part of the editors);Kathleen Mauchly,“John Mauchly’s Early Years,”Annals of the History of Computing,Apr. 1984;John Mauchly,“Mauchly: Unpublished Remarks,”with an afterword by Arthur Burks and Alice Burks,Annals of the History of Computing,July 1982;Arthur Burks,“Who Invented the General Purpose Computer?” talk at the University of Michigan,Apr. 2,1974;James McNulty,letter to the editor,Datamation,June 1980.莫奇利带着自己6岁大的儿子吉米,从华盛顿一路驱车前往艾奥瓦州。他们在6月13日星期五的深夜抵达目的地,阿塔纳索夫的妻子卢拉没有预料到他们会在这个时候到达,所以她还没有准备好家中的客房。“我飞快地到处张罗,跑到阁楼上拿出备用的枕头和其他用品。”她后来回忆道。Lura Meeks Atanasoff testimony,Sperry v. Honeywell;Burks,Who Invented the Computer?,1445.她还给他们做了晚餐,因为莫奇利父子到达的时候都已经饥肠辘辘。阿塔纳索夫家中已有三个孩子,但是莫奇利似乎已经假定卢拉会在这段时间帮忙照顾吉米,她勉强答应了这个要求。她并不喜欢莫奇利。“我觉得他不够诚实。”她曾经跟丈夫提到这点。Mollenhoff,Atanasoff,114.

阿塔纳索夫急切地想要展示自己正在制造的机器,但是妻子却担心他过于信任这位访客。“在它还没有得到专利之前,请千万要小心。”她警告道。尽管如此,阿塔纳索夫还是在第二天早上带着莫奇利来到了物理系教学楼的地下室,同行的还有卢拉和孩子们。他自豪地掀开了一块盖布,展示出一件他和贝瑞正在共同打磨的作品。

这台机器拥有几个让莫奇利印象深刻的特点。机器的存储器是由电容器制成的,阿塔纳索夫将它们放在一个圆柱里面,然后通过旋转圆柱以每秒一次左右的间隔补充电容器中的电荷。莫奇利认为这种想法不仅是独创的,而且可以节约成本。莫奇利之前也有考虑过使用电容器来取代成本更高的真空管,他也很欣赏阿塔纳索夫采用的“唤起记忆”方法,这是让整个存储系统能够正常运作的关键。他认为以上的方式就是这台机器能够实现每数位2美元成本的秘诀所在。他阅读了阿塔纳索夫详细描述这台机器的35页计划书,并记下了笔记。他问阿塔纳索夫自己能否带走一份副本,但是对方拒绝了这个要求,首先是因为他没有多余的副本可以外传了(复印机当时还没有被发明出来),其次是他已经开始担心莫奇利吸收的信息是不是太多了。Mauchly oral history,Smithsonian;John Mauchly,“Fireside Chat,”Nov. 13,1973,Annals of the History of Computing,July 1982.

但是莫奇利认为自己在埃姆斯了解到的大部分内容都是不值一提的——或者至少这是他在后来的回顾中所坚持的一点。阿塔纳索夫的机器的主要缺点在于它不是一台完全电子化的设备,而是依靠放在机械鼓轮中的电容器来实现存储功能。虽然这种做法可以降低成本,但是会严重拖慢它的计算速度。“我认为他的机器极具独创性,但由于它是部分机械化的,因此它无论如何都不符合我原有的概念,”莫奇利回忆道,“我对它的旁枝末节已经不再感兴趣了。”在后来的专利诉讼庭审当中,莫奇利给出了维护自己专利正当性的证词,他在其中将阿塔纳索夫的机器的半机械特点称为“相当令人沮丧的失望”,并表示自己不会考虑制造“一台在运作中部分使用电子管的机械设备”。Ritchie,The Computer Pioneers,142.

莫奇利在证词中还提出了这台机器令他感到失望的另外一个缺点,就是它的设计用途只有一个,不能进行编程或者通过调整用于其他的任务:“他完全没有想过把这台机器用于求解线性方程组以外的用途,他只是把它看成是一台单一用途的机器。”Mauchly oral history,Smithsonian.

所以,莫奇利没有带着计算机制造的突破性概念离开艾奥瓦州,他只从中得到一些无关紧要的发现——多年以来,他一直有意或无意地在自己去过的大会、学校和展会中收集自己感兴趣的想法,所以这次的艾奥瓦之旅也不例外。“无论是艾奥瓦州,还是世博会和其他各种地方,我都是抱着同样的心态前往的,”他在证词中说道,“这里有没有可以帮助我或者其他任何人完成制造电子计算机的想法?”John Mauchly testimony,Sperry v. Honeywell;Burks,Who Invented the Computer?,429.

跟大多数人一样,莫奇利也会从各种各样的经历、对话和观察当中收集不同的见解,他的信息收集来源包括斯沃斯摩尔学院、达特茅斯学院、贝尔实验室、美国无线电公司、世界博览会和艾奥瓦州州立大学等各种地方,然后他会把收集到的信息融合成为自己的想法。“一个新的想法会以直觉的形式突然出现,”爱因斯坦曾经说过,“但这种直觉不过是以往的知识经验的产物。”当人们从多个来源收集和整合信息的时候,他们很自然地会认为最后产生的想法是属于他们自己的——事实上亦是如此,所有的思想都是通过这种方式诞生的。因此,莫奇利认为自己对于计算机制造的直觉和想法是属于自己的,而不是从其他人身上偷来的。无论后来的法律判决是什么,莫奇利的大部分做法都是无可厚非的,正如任何人都可以正当地认为自己的想法是属于自己的一样。无论专利法是如何定义的,这仍然是创意诞生的方式。

与阿塔纳索夫不一样的是,莫奇利有机会,也有意愿与一支人才济济的团队进行合作。因此,他和他的团队并没有造出一台被废弃在地下室中的半成品,而是作为世界上第一台电子通用计算机的发明者被载入史册。

霍华德·艾肯(1900——1973)在哈佛大学,照片摄于1945年

约翰·莫奇利(1907—1980),照片约摄于1945年

普雷斯伯· 埃克特(1919—1995),照片约摄于1945年

ENIAC与埃克特(正在触碰机器)、莫奇利(站在柱子旁边)、琼·詹宁斯(位于后方)和赫尔曼·戈德斯坦(詹宁斯旁边),照片摄于1946年

正当莫奇利准备离开艾奥瓦州的时候,他收到了一个好消息——他已经被宾夕法尼亚大学的电子学课程录取了。出于紧急备战的需要,美国陆军部在全国各地资助开设了多个这样的课程。这是他进一步学习如何在电路中使用真空管的机会,因为他当时已经确信真空管电路是制造计算机的最佳方式。这些课程的开设也展示了军事力量在数字时代的创新当中所起到的重要作用。

莫奇利在1941年夏季参加了这个为期10周的课程。他在学习期间接触到了一台来自麻省理工学院的微分分析机,也就是由万尼瓦尔·布什设计的模拟计算机。这段经历让他更加渴望制造出属于自己的计算机。另外,他还发现宾夕法尼亚大学的研究资源要比乌西纳斯学院好得多。所以在这个暑期课程结束之后,他欣然接受了这所大学向他提供的讲师工作。

莫奇利写信向阿塔纳索夫传达了这个好消息,这封信的字里行间还透露了一个让这位艾奥瓦州州立大学教授深感不安的计划。“我最近产生了许多关于计算电路的想法——其中有些想法融合了你和其他人采用的方法,另外一些想法则和你的机器完全不一样,”莫奇利真诚地写道,“现在我有这么一个问题:在你看来,如果我要制造某种形式的计算机,而这种计算机将会体现出你的机器的某些特点,你会对此表示反对吗?”John Mauchly to John Atanasoff, Sept. 30,1941,Sperry v. Honeywell trial records.从这封信,或者莫奇利后来做出的辩解和证词当中都很难看出他这种无辜的语气是真情还是假意。

但无论如何,这封信都让阿塔纳索夫感到寝食难安,因为他当时还没有成功敦促自己的律师提交任何的专利申请。他在几天之后给了莫奇利一个相当直率的答复:“我们的代理律师已经强调了在专利申请成功提交之前,我们需要对这台机器的相关信息的外传保持谨慎。这个过程应该不用花太长的时间。当然我没有后悔向你展示我们的机器,但是目前我们双方还是需要避免对外公开任何关于这台机器的细节。”Atanasoff to Mauchly,Oct. 7,1941,Sperry v. Honeywell trial records.不可思议的是,这次的书信交流仍然没有引起阿塔纳索夫和他的律师对专利申请的重视。

莫奇利在1941年秋季继续进行他的计算机设计工作。他在这个过程中坚持从多个信息来源提取有用的想法,他认为这是一种正确的做法,而且他所设计的计算机跟阿塔纳索夫的机器有着非常大的区别。他在当年的夏季课程中认识了一位非常适合参与这项工作的搭档:一位对精密工程有着完美主义情节的研究生。年仅22岁的他对电子学的知识了如指掌,虽然他比莫奇利年轻12岁,而且还没有取得自己的博士学位,但他已经有能力担任莫奇利的实验室导师了。

普雷斯伯·埃克特

小约翰·亚当·普雷斯伯·埃克特(John Adam Presper Eckert Jr.)一般被称为普雷斯伯·埃克特,私下的昵称是“普雷斯”(Pres),他是一位费城地产大亨的独生子。In addition to the sources cited below,this section draws from Peter Eckstein,“Presper Eckert,”Annals of the History of Computing,Spring 1996;J. Presper Eckert oral history,conducted by Nancy Stern,Oct. 28,1977,Charles Babbage Institute,University of Minnesota;Nancy Stern,From ENIAC to UNIVAC(Digital Press,1981);J. Presper Eckert,“Thoughts on the History of Computing,”Computer,Dec. 1976;J. Presper Eckert,“The ENIAC,”John Mauchly,“The ENIAC”,and Arthur W. Burks,“From ENIAC to the Stored Program Computer,”all in Nicholas Metropolis et al.,editors,A History of Computing in the Twentieth Century(Academic Press,1980);Alexander Randall,“A Lost Interview with Presper Eckert,”Computerworld,Feb. 4,2006.他的外曾祖父托马斯·米尔斯(Thomas Mills)在大西洋城发明了一种制作盐水太妃糖的机器,后来还在那里创办了一家专门制造和销售这种设备的企业。埃克特从小就由家里的司机接送上下学,他当时就读的是成立于1689年的威廉·佩恩私立学校。然而他的成功并非来自优渥的家境,而是自身的天赋。在12岁的时候,他利用磁铁和变阻器做出了一个用于模型船的导航系统,并凭借这个作品在市内的科学竞赛中获奖。在14岁的时候,他用一种独创的方式改造了父亲其中一处物业的内部通话系统,他将家庭用电接入到这个系统当中,免除了使用电池的麻烦。Eckert oral history,Charles Babbage Institute.

高中时期的埃克特经常会做出一些让同学们惊异不已的小发明,他还会通过制作收音机、放大器和音响系统赚取零花钱。有“本杰明·富兰克林之城”之称的费城是当时电子产业的一个重要中心。年纪轻轻的埃克特已经时常出没于费罗·法恩斯沃斯(Philo Farnsworth)的研究实验室,后者是电视机的发明者之一。尽管埃克特后来被麻省理工学院录取了,而且他自己也想要入读这所学校,但是他的父母希望他可以就读本地的大学。他们假装家里的经济条件受到了大萧条的严重影响,以此说服他入读宾夕法尼亚大学,并且住在家中。虽然他最终同意了父母的要求,但是在学习专业方面却坚持了自己的选择。他没有选择父母希望他学习的商科专业,而是进入了宾夕法尼亚大学的摩尔电气工程学院,因为他对那里的课程更感兴趣。

在大学生活中,埃克特在社交方面的最大成就是制造出了一台叫作“接吻测量仪”(Osculometer,来自拉丁语中“嘴巴”的意思)的设备。这台设备的用途是测量两人接吻的热烈程度,以及他们产生的浪漫电流的强度。参加测试的两个人需要用手握住设备的把手,然后开始接吻,在两人的嘴唇接触之后,他们的身体和设备之间会形成一个闭合电路,然后电路中的一连串灯泡就会被点亮。被测者的目标是进行一次热烈的接吻,产生足够大的电流来点亮设备的全部10个灯泡。当达到这个目标之后,设备就会发出一声响亮的号角声。聪明的被测者会发现湿吻和出汗的手掌可以提升这个电路的导电性。Eckstein,“Presper Eckert.”埃克特还发明了一台可以利用光调制的方式在胶片上录制声音的设备,他成功地为这个发明申请了一项专利,当时他还只是一个21岁的本科生。Ritchie,The Computer Pioneers,148.

普雷斯·埃克特有一些自己独特的怪癖。当感到紧张不安的时候,他会在房间里来回踱步,咬自己的指甲,或者四处跳动,有时甚至还会站到桌子上面思考。他的手上戴着一条表带,但表带上面没有手表,他会用手去拨动这条表带,就像它是一串念珠一样。他是个脾气急躁的人,但是在情绪爆发过后很快又会恢复友善。埃克特对完美的追求来源于自己的父亲,他的父亲经常会带着一大盒彩色粉笔在建筑工地上画出各种指示,并用不同颜色的粉笔表示不同工人的工作内容。“他可以说是一个完美主义者,他会确保其他人做出正确的事情,”他的儿子说道,“但他也是一个非常有个人魅力的人,他在大多数时候都能找到合适的人帮他完成工作。”作为一位典型的工程师,埃克特认为工程师对于包括莫奇利在内的物理学家来说是必要的补充。“物理学家是关心真理的人,”他后来说道,“而工程师关心的是如何完成工作。”Eckert oral history,Charles Babbage Institute.

ENIAC

战争会促进科学的发展。纵观历史,无论是古希腊建造的投石车,还是列奥纳多·达·芬奇成为切萨雷·波吉亚(Cesare Borgia)麾下的军事工程师,我们都能从中看出军事需求一直都在推动技术的进步,这点在20世纪中叶体现得尤为明显。这个时代最为顶尖的技术成就(计算机、原子能、雷达和互联网)都是战争催生的产物。

美国在1941年12月正式加入“二战”,战争的需要使得美国有充足的动力为莫奇利和埃克特正在研发的机器提供资助。宾夕法尼亚大学和位于阿伯丁试验场的陆军军械部当时得到了一项军方指派的任务——为美国输送到欧洲的火炮武器制作记录发射角设置的说明书。为了实现精确的瞄准,这些火炮的弹道表需要考虑数百项发射条件,包括温度、湿度、风速、高度和火药的种类等。

仅仅针对一种火炮发射的一种炮弹,它的弹道表制作就需要通过微分方程组计算三千条弹道。这项工作通常会使用万尼瓦尔·布什在麻省理工学院发明的微分分析机来完成。这台机器的计算工作需要超过170个人的协助,这些被称为“计算员”(computer)的工作人员大多数都是女性。为了求解这些方程,他们需要在桌面加法机上进行繁复的操作。这项工作召集了全国各地的女性数学专业学生来完成。尽管如此,仅仅为了计算一个弹道表就要花费超过一个月的时间。到了1942年夏天,这样的计算进度显然已经越来越跟不上战事的需求,导致美军的部分火炮出现了无法使用的情况。

莫奇利在当年8月写了一份备忘录,他在其中提出了一个可以帮助军方解决这个难题的方法。这份将会改变计算机发展历史的备忘录的题目是“高速真空管设备的计算应用”。莫奇利在备忘录中为他和埃克特希望建造的机器请求资助:这是一台使用真空管电路的数字电子计算机,它可以求解微分方程和进行其他的数学计算。他表示,“如果这种机器能够采用电子元件,它们的计算速度将会得到大幅提升。”他预计一个弹道可以在“100秒”之内计算完成。John W. Mauchly,“The Use of High Speed Vacuum Tube Devices for Calculating,”1942,in Brian Randell,editor,The Origins of Digital Computers: Selected Papers(Springer-Verlag,1973),329. See also John G. Brainerd,“Genesis of the ENIAC,”Technology and Culture,July 1976,482.

虽然宾夕法尼亚大学的院长们没有被莫奇利的备忘录打动,但它确实吸引了这所大学的驻派陆军军官的注意力。时年29岁的赫尔曼·戈德斯坦中尉(Herman Goldstine,不久后被提升为上尉)曾经担任密歇根大学的数学教授。他当时的任务是提升弹道表的制作速度,他已经为此派遣了同为数学家的妻子阿黛尔到全美各地招揽人才,动员更多的女性加入宾夕法尼亚大学的计算员队伍当中。在看到了莫奇利的备忘录之后,他相信这项任务可以有更好的完成方式。


美国陆军部在1943年4月9日正式决定资助建造这台电子计算机。在这个决定达成的前一天晚上,莫奇利和埃克特还在通宵达旦地赶制他们的计划书。虽然这份计划书在第二天早上仍然没有完成,但他们还是坐上了戈德斯坦中尉驾驶的汽车,从宾夕法尼亚大学出发前往位于马里兰州的阿伯丁试验场,那里已经聚集了一批来自陆军军械部的军官。在这段两个小时的车程当中,莫奇利和埃克特坐在后座继续完成计划书剩下的部分。在到达阿伯丁之后,戈德斯坦前往参加评审会议,他们则留在一个小房间里继续工作。这场会议的主持人是普林斯顿大学高等研究院的院长奥斯瓦尔德·维布伦(Oswald Veblen),他当时的职责是为军方的数学项目提供指导。陆军弹道研究实验室的主管莱斯利·西蒙(Leslie Simon)上校也参加了这次会议。戈德斯坦对当时会议情况的回忆是:“在会议上,维布伦用椅子的后脚做支撑不断地前后摇晃。他在听到我的一小段报告之后突然从椅子上摔了下来。他马上站起来喊道:‘西蒙,把钱给戈德斯坦。’他在说完这些之后就走出了会议室,随后整场会议在愉快的气氛下结束了。”Mauchly oral history,Smithsonian;Goldstine,The Computer from Pascal to von Neumann,3169;McCartney,ENIAC,61.

莫奇利和埃克特将他们之前的备忘录整理成一篇题为《关于电子微分分析机的报告》(Report on an Electronic Diff. Analyzer)的文章。使用缩写“diff.”是一个取巧的做法,因为它既可以表示“不同”(differences),这点反映了这台待建的机器具有数字化的特点;还可以表示“微分”(differential),这点描述的是它可以求解的方程类型。这台机器在不久后就被赋予了一个更容易被记住的名字:ENIAC,即电子数字积分计算机(Electronic Numerical Integrator and Computer)。尽管ENIAC的主要设计用途是求解微分方程,这是计算火炮弹道的关键所在,但是莫奇利在报告中表示它可以配有一个“编程设备”,这样它就可以用于完成其他的任务,成为一台更为通用的计算机。Burks,Who Invented the Computer?,71.

ENIAC在1943年6月开始投入建造。莫奇利在维持教职的同时负责这个项目的顾问和设计工作。作为军方代表的戈德斯坦负责监督工程的进度和预算。对细节和完美有强烈追求的埃克特则成了项目的首席工程师。埃克特非常专注地投入到了这个项目当中,以至于有时会直接睡在机器的旁边。有一次他还被另外两位工程师作弄了一把,他们趁他睡着的时候,小心翼翼地把他的帆布床搬到了楼上的一个完全一样的房间。埃克特在醒来之后大吃一惊,以为自己的机器被人偷走了。McCartney,ENIAC,89.

埃克特深知如果没有精确的执行,再伟大的概念也发挥不出应有的价值(这是阿塔纳索夫学习到的教训),因此他会放下身段对项目进行事无巨细的管理。他会在其他工程师之间来回巡察,告诉他们应该在哪个位置进行焊接或者拧紧电线。“我会查看每位工程师的工作,还会仔细检查机器中每个电阻的每项计算,确保所有工作都能准确完成。”他坚定地说道。他对所有不在乎细节的人都没有好感。“人生正是由各种各样的小事组成的,”他曾经说过,“当然计算机也只是一个由细节堆砌而成的庞大整体。”Eckert oral history,Charles Babbage Institute.

埃克特和莫奇利两人之间可以起到互补的作用,这点让他们成为数字时代众多双人领导组合当中的典范。埃克特会以精益求精的要求来鞭策其他人;莫奇利则更擅长于安抚人心,并让他们感受到关爱。“他总是在跟别人开玩笑,”埃克特回忆道,“他是一个很有人缘的人。”专业技术过硬的埃克特有时也会出现精神紧张和注意力不集中的问题,因此他非常需要一个可以跟他交流想法的人,这是莫奇利非常乐意担当的角色。虽然莫奇利不是一个工程师,但他确实有能力以一种启发灵感的方式将科学理论和工程实践联系起来。“这个项目是我们合作完成的,我认为仅凭我们之间的任何一个人都是不可能做到的。”埃克特后来承认道。Eckert oral history,Charles Babbage Institute.


虽然ENIAC是一台数字化的计算机,但它没有采用二进制系统(只使用0和1两个数字),而是选择了十进制系统,它采用的计数器是带有十个数字的。从这点来看,ENIAC还不算是一台现代的计算机。除此之外,它比阿塔纳索夫、楚泽、艾肯和斯蒂比兹制作的机器都要先进。在使用了一项叫作“条件分支”(埃达·洛夫莱斯曾在一个世纪之前描述过的概念)的功能之后,它可以根据临时的计算结果在程序当中进行跳转。它还可以重复执行用于完成常见任务的代码块,这项功能被称为“子程序”。“我们可以使用子程序,以及子程序的子程序。”埃克特解释道。当莫奇利提出这项功能的时候,“我立刻意识到这个想法将会是整台机器的关键”,埃克特回忆道。Eckert oral history,Charles Babbage Institute;Randall,“A Lost Interview with Presper Eckert.”

经过了一年的建造工作之后,莫奇利和埃克特在1944年6月的诺曼底登陆日前后开始对ENIAC的前两个组件进行测试,这个部分相当于计划建成机器的六分之一。他们先从一个简单的乘法问题开始测试,在看到它生成了正确的答案之后,他们同时发出了一声欢呼。不过这个建造项目又持续了一年多的时间,ENIAC在1945年11月开始全面投入运作。它当时可以在一秒钟之内进行5 000次加减法运算,这个运算速度要比之前发明的计算机快100倍。它的长度为100英尺,高为8英尺,占地面积相当于一间普通的三居室公寓。它的重量接近30吨,机器内部含有17 468个真空管。相比之下,阿塔纳索夫和贝瑞的计算机当时仍在艾奥瓦州的一个地下室中苟延残喘,它的大小相当于一张书桌,它内含的真空管数量仅为300个,而且每秒只能进行30次加减法运算。

布莱切利园

其实英国早在1943年年底就已经成功制作出了一台含有真空管的电子计算机。不过这在当时是一个鲜为人知的秘密项目,而且它在30年之后才被公之于世。这个项目是在布莱切利镇(距离伦敦西北45英里)的一座维多利亚式红砖庄园中进行的。英国政府当时召集了一批天才和工程师,让他们在这个与外界隔绝的地方进行德军密码的破解工作。这台被称为“巨人”(Colossus)的计算机是世界上第一台全电子化和部分可编程的计算机。由于它是针对一项专门的任务而建造的,所以它不是一台通用型或者“图灵完备”的计算机,不过它身上确实体现了艾伦·图灵的烙印。

图灵在1936年秋天开始将研究重点转向密码和密码学,他当时已经来到了普林斯顿大学,而且刚刚完成了《论可计算数》的写作。他在当年10月写给母亲的一封信中表达了自己的兴趣:

对于我目前正在研究的内容,我刚刚发现了一项潜在的应用。它能够回答“最通用的一种密码是什么”这个问题,同时我可以(相当自然地)利用它创建大量独特和有趣的密码。其中一种密码在没有密钥的前提下几乎不可能被破译,而且它可以实现快速编码。我认为我可以把它们出售给英国政府,换取大笔资金,不过我很怀疑这样做是否符合道德。您是怎么看的?Hodges,Alan Turing,3628.

在接下来的一年中,图灵越来越担心英国与德国开战的可能性,所以他变得更加专注于对密码学的研究,也不太关心是否要利用这项技术来赚钱了。1937年年底,他在普林斯顿大学物理系大楼的机械车间制作了一台初步完成的编码机,它可以将文字转换成二进制数字,然后利用机电继电器开关将得出的加密信息乘以一个庞大的秘密数字,生成一段几乎不可能被破解的密码。

图灵在普林斯顿大学期间的其中一位导师是约翰·冯·诺依曼,这是一位来自匈牙利的伟大物理学家和数学家,他当时所在的高等研究院位于大学数学系的大楼之中。1938年春,图灵即将完成自己的博士论文,这时冯·诺依曼打算聘用他为自己的助理。虽然这个职位对于图灵来说很有吸引力,但当时的欧洲正处于战争的威胁之下,所以他觉得继续留在美国似乎是一个不够爱国的决定。于是图灵决定回国继续担任剑桥大学的研究员,随后加入了英国对德军密码的破译工作。

当时的英国政府密码学校是一个位于伦敦的情报部门,这里的工作人员主要是一些文学方面的学者,例如来自剑桥大学的古典学教授迪尔温·诺克斯,以及爱好艺术的社会名流奥利弗·斯特雷奇,他的业余爱好是弹钢琴,偶尔还会写一些关于印度的文章。图灵在1938年秋天进入政府密码学校工作,在此之前,这里的80位职员当中没有一个是数学家。不过随着英国备战工作的展开,这个部门在次年夏天开始积极招募数学家,有一次它甚至利用《每日电讯报》的填字游戏栏目作为招聘工具。在招聘工作完成之后,政府密码学校搬迁到了宁静的红砖小镇布莱切利,这个地方的主要优势是位于牛津大学——剑桥大学和伦敦——伯明翰这两条铁路的交汇处。布莱切利园是一座维多利亚哥特式风格的大型庄园,正当它的所有者准备把它拆除的时候,一支来自英国情报部门的队伍以“雷德利上校的狩猎聚会”(Captain Ridley’s Shooting Party)的名义低调地买下了这座庄园。政府密码学校的密码破译员们就在庄园里的农舍、畜棚和后来建成的活动小屋中工作。In addition to the Hodges biography,Alan Turing,this section draws on B.Jack Copeland,Colossus: The Secrets of Bletchley Park’s Codebreaking Computers(Oxford,2006);I. J. Good,“Early Work on Computers at Bletchley,”Annals of the History of Computing,July 1979;Tommy Flowers,“The Design of Colossus,”Annals of the History of Computing,July 1983;Simon Lavington,editor,Alan Turing and His Contemporaries(BCS,2012);Sinclair McKay,The Secret Life of Bletchley Park: The History of the Wartime Codebreaking Centre by the Men and Women Who Were There(Aurum Press,2010);and my visit to Bletchley Park and the scholars,tour guides,displays,and material available there.

图灵当时被分配到了布莱切利园的“8号小屋”进行工作,专门负责破译德军的恩尼格玛密码机(Enigma)生成的密码,恩尼格玛机是一台利用机械转子和电路生成密码的便携设备。在加密军事消息的时候,它在每次键入之后都会改变密文字母的生成方式。使用这种方式生成的密码是非常难破解的,英国军方曾经甚至认为他们永远都无法做到这点。波兰的情报人员找到了破解这种密码的一个突破口,他们根据一个德军编码员俘虏提供的信息制作了一台机器,它可以破解恩尼格玛机的部分密码。然而,当波兰人向英国展示这台破译机的时候,它已经失效了,因为德国人又为恩尼格玛机增加了两个转子和两个接线板接口。

图灵和他的团队开始研制一种更为高级的破译机,这种被称为“炸弹机”(the bombe)的机器可以破译经过升级的恩尼格码机加密信息——特别是用于破解德国海军对U型潜艇的部署命令,避免英国的补给船队再次遭到德军潜艇的大肆攻击。炸弹机在破译密码的时候利用了恩尼格玛机在加密过程中出现的一些漏洞,例如经过加密转换的字母肯定会跟原文的字母不一样,还有德军会反复使用某些特定的语句。图灵的团队在1940年8月建造了两台可以正常运行的炸弹机,它们总共破解了178条加密信息。到了“二战”快要结束的时候,他们已经建造了接近200台炸弹机。

图灵设计的炸弹机并非计算机技术的一项显著进步。它只是一种由继电器开关和机械转子组成的机电装置,没有采用任何的真空管和电路。但是在布莱切利园诞生的下一台机器——“巨人”计算机却是一个重要的里程碑。


英国对巨人计算机的需求来源于德国开始对重要的信息进行加密,例如来自希特勒和他的最高统帅部的命令,这些加密信息是通过一种电子数字设备生成的。由于这种设备在加密信息的时候采用了二进制系统和12个大小不一的编码轮,所以由图灵设计的机电炸弹机也对此无能为力。这种高难度的密码需要使用高速的电子电路才有可能破解。

负责巨人项目的团队被分配到了“11号小屋”进行工作,因为这个项目的主管是剑桥大学的数学教授麦克斯·纽曼,所以他的团队也被称为“纽曼军”。纽曼正是在大约10年前向图灵介绍希尔伯特问题的导师。这个项目的总工程师是电子学天才汤米·弗劳尔斯,这位真空管先驱当时正在位于伦敦郊区多利斯山的邮政研究站工作。

虽然图灵不属于纽曼的团队,但他确实向他们提出了一种叫作“图灵法”的统计方法,这种方法可以对在一连串密文当中均匀分布的文字进行筛选,并从中找出任何可疑的地方。纽曼军根据图灵提供的方法做出了一台机器,它可以使用光电传感器扫描两组打孔纸带,然后比对这两组信息中所有可能出现置换的地方。这台机器被命名为“希思·罗宾逊”(Heath Robinson),这是一位英国漫画家的名字,他和美国的鲁布·戈德伯格一样都擅长于绘制极端复杂的机械装置。

弗劳尔斯对于使用真空管(他和其他英国人将其称为“阀门”——valve)制作的电子电路的研究已有接近10年的时间。1934年,时任英国邮政局电话部门工程师的弗劳尔斯制作了一个含有超过3 000个真空管的实验系统,用于控制1 000条电话线之间的连接。他同时也是率先将真空管应用于数据储存的人。图灵曾经邀请弗劳尔斯到布莱切利园协助炸弹机的研发,后来还向纽曼推荐了他。

弗劳尔斯意识到仅仅依靠对比分析两组打孔纸带是无法快速破解德军的加密信息的,唯一可行的方法是将至少一组加密信息流储存在机器内部的电子存储器当中,这项功能将需要使用1 500个真空管才能实现。布莱切利园的主管们起初对这个方案的可行性表示怀疑,但是弗劳尔斯一直在全力推进这个项目。仅仅经过了11个月之后,他在1943年12月制成了第一台巨人计算机。1944年6月1日,一台含有2 400个真空管的改进版巨人计算机也开始投入使用。它成功解密的首批情报对当时正蓄势待发的诺曼底登陆发挥了重大的作用,德怀特·艾森豪威尔上将根据巨人计算机和其他来源的信息了解到希特勒没有在诺曼底部署更多的兵力,从而坚定了发动诺曼底登陆的决心。另外8台巨人计算机在接下来的一年之内陆续制成。

这就意味着远在ENIAC之前(它直到1945年11月才完全投入运作),英国的密码破译员就已经制作出了一台完全电子化和数字化(真正采用二进制)的计算机。在1944年6月制成的改进版巨人计算机甚至可以实现部分的条件分支功能。但是跟含有10倍真空管数量的ENIAC不一样的是,巨人计算机只是一种专门用于破译密码的机器,而不是通用型的计算机。由于它的可编程性有限,所以它也不能像ENIAC那样(在理论上)可以根据指令执行所有类型的计算任务。

那么,究竟是谁发明了计算机?

如果要评判计算机先驱们对计算机发明所做的贡献,我们应该先找出能够定义计算机本质的特点。从最普遍的意义来说,计算机的定义可以包括从算盘到iPhone(苹果公司的手机)之间的各种设备。但如果从数字革命的诞生历史来看,我们应该遵循现代语言对计算机的定义,比如:

“一台可编程,通常是电子化的设备,能够储存、检索和处理数据。”(韦氏词典)

“一台能够以特定形式接收信息(数据),并按照一组既定而可变的程序性指令(程序)执行一系列运算,最后生成结果的电子设备。”(牛津英语词典)

“一台能够通过编程自动执行一系列算术或逻辑运算的通用型设备。”(维基百科,2014)

也就是说,典型的计算机是一台电子化、通用型和可编程的机器。那么究竟哪一台机器最有资格被称为第一台计算机呢?

乔治·斯蒂比兹的K模型在1937年11月诞生于一张厨房桌子上。贝尔实验室在1940年1月将这个模型制作成一台完整的机器。它是一台二进制的计算机,而且是第一台被远程使用的同类设备。但是它采用了机电继电器,因此它不是完全电子化的设备。它还是一台专用型的计算机,而且不能进行编程。

康拉德·楚泽的Z3计算机在1941年5月完成,它是第一台自动控制、可编程、电子化和二进制的机器。它的设计用途是解决工程学的问题,所以它不是一台通用型的机器。但它后来被证明是一台在理论上图灵完备的机器。它和现代计算机的主要区别在于,它是一台机电设备,需要依靠缓慢的继电器开关运作,而不是采用电子元件。它的另外一个缺点是一直没有完全投入使用。它在1943年盟军对柏林的一次空袭当中被炸毁了。

约翰·文森特·阿塔纳索夫设计的计算机在1942年9月已经完成制作,但它还不是一台完全可行的机器。当时阿塔纳索夫需要进入海军服役,所以他只能搁置这个项目。它是世界上第一台电子数字计算机,但它只采用了部分的电子元件。它在加减法装置中使用了真空管,但是它的储存和数据检索功能是通过机械鼓轮实现的。如果以第一台现代计算机的标准来评价的话,它的其他主要缺点是不可编程和用途单一,它是为了求解线性方程这个专门的任务而制造的。另外,阿塔纳索夫一直无法完全运作它,而且它后来还被废弃在艾奥瓦州州立大学的地下室中。

布莱切利园的巨人一号计算机由麦克斯·纽曼和汤米·弗劳尔斯(得到了艾伦·图灵提供的意见)完成于1943年12月。它是第一台完全电子化、可编程和可运作的数字计算机。然而它不是一台通用型或者图灵完备的机器,它是专门用于破译德军密码的。

霍华德·艾肯和IBM合作建造的计算机——哈佛马克一号在1944年5月投入运作。这是一台可编程的计算机,这点我们会在下一章看到,但它只是一台不含电子元件的机电设备。

普雷斯伯·埃克特和约翰·莫奇利在1945年11月制成了ENIAC,这是世界上第一台完全符合现代计算机特征的机器。它具有完全电子化和超高速运算的特点,而且可以通过接通和拔掉连接不同组件的线缆实现编程功能。它可以根据临时的计算结果改变程序的执行路径,作为一台图灵完备的通用型机器,它在理论上可以执行任何任务。最重要的是,它是可以正常运作的。“这对于一项发明来说是很重要的,”埃克特后来对ENIAC和阿塔纳索夫的机器进行比较的时候说道,“你必须做出一个完整可行的系统。”Randall,“A Lost Interview with Presper Eckert.”莫奇利和埃克特可以用他们的机器进行一些相当复杂的计算,而且它被持续使用了10年的时间。后来的大部分计算机都是以它为基础进行设计的。

最后一点也是很重要的。当我们要找出某项发明的贡献者,确定谁最值得被历史铭记的时候,其中一个衡量标准是考虑谁的贡献产生了最大的影响力。发明的意义在于为历史的发展做出贡献,以及影响一场变革的形成。如果按照历史影响的标准来评价的话,埃克特和莫奇利是最值得称道的创新者。几乎所有在20世纪50年代出现的计算机都起源于ENIAC。要评价弗劳尔斯、纽曼和图灵的影响是比较困难的,虽然他们的工作一直被列为最高机密,但是他们三人都参与了英国在战后的计算机建设工作。楚泽长期在与外界隔绝的地方进行研究,而且他的重要研究成果都在柏林的空袭中毁于一旦,因此他对计算机发展的影响就更小了。至于阿塔纳索夫,他在这个领域的主要影响(也许是唯一的影响)可能就是为前来访问的莫奇利提供了一些灵感。


1941年6月,莫奇利前往艾奥瓦州进行了为期四天的访问,关于他究竟在这段行程中向阿塔纳索夫收集到了多少灵感的问题后来演变成了一场旷日持久的法律纠纷。这个事件引出了另外一个评判发明所有者的标准,不过这个标准更为着重的是法律意义,而非历史意义:谁最终获得了发明的专利?而对于第一台计算机来说,没有人持有它的专利。但是造成这个结果的原因是埃克特和莫奇利的专利在经过一场充满争议的官司之后被撤销了。The archives for the Honeywell v. Sperry Rand trial. See also Charles E. McTiernan,“The ENIAC Patent,”Annals of the History of Computing,Apr. 1998.

这个传奇故事开始于1947年,当时已经离开宾夕法尼亚大学的埃克特和莫奇利为他们联手建造的ENIAC申请了一项专利,他们最终在1964年获得专利(当时的专利申请处理流程相当缓慢)。在此之前,埃克特和莫奇利成立的公司和它的专利权已经被雷明顿·兰德(Remington Rand)公司收购了,后者在这时已经更名为斯佩里·兰德(Sperry Rand)。在获得专利之后,斯佩里·兰德开始敦促其他公司向其缴纳专利授权费用。IBM和贝尔实验室都与它达成了授权协议,但是霍尼韦尔(Honeywell)公司拒绝合作,并开始想方设法质疑这项专利的合法性。它聘请了一位叫作查尔斯·考尔(Charles Call)的新晋律师,他拥有工程学学位,并且曾经在贝尔实验室工作过。他的任务是证明埃克特和莫奇利的想法并非原创,并以此推翻他们的专利。

霍尼韦尔公司之前已经派遣过一位律师前往艾奥瓦州州立大学,对阿塔纳索夫在那里制造的计算机进行了详细调查。根据这位律师提供的线索,考尔拜访了当时住在马里兰州的阿塔纳索夫。在听到考尔对自己的计算机的了解之后,阿塔纳索夫感到很欣慰,同时为自己一直没有得到应得的名誉而愤愤不平。于是他向考尔交出了数百份信件和文件,这些资料展示了莫奇利是如何从艾奥瓦州的访问中获取灵感的。当天晚上,考尔驾车前往华盛顿,参加莫奇利主持的一个讲座。他在讲座上向莫奇利提出了一个关于阿塔纳索夫计算机的问题,莫奇利在回答中坚称自己几乎没有仔细观察过它。考尔意识到如果可以在庭审中让莫奇利在证词中说出这番话,那么他就可以利用阿塔纳索夫的证据来质疑他的可信性。

莫奇利在几个月之后发现阿塔纳索夫可能正在协助霍尼韦尔推翻自己的专利,于是他亲自前往马里兰州拜访阿塔纳索夫,同行的还有一位斯佩里·兰德聘请的律师。这是一次气氛尴尬的会面。莫奇利声称自己在艾奥瓦州的访问过程中没有仔细阅读阿塔纳索夫的论文,也没有详细观察过他的计算机,但是阿塔纳索夫冷淡地否认了这些说法。莫奇利还留在了阿塔纳索夫的家中吃晚饭,试图继续讨好对方,然而最后还是无功而返。

1971年6月,双方最终在明尼阿波利斯市的联邦法院对簿公堂,主持这场审讯的是联邦法官厄尔·拉尔森(Earl Larson)。事实证明法庭上的莫奇利是一个糟糕的证人。他以自己的记性差为理由,对自己在访问艾奥瓦州期间的见闻支吾以对,而且还不断重复自己在之前已经提出过的证言,例如他声称自己只在昏暗的灯光下看到被部分遮盖的阿塔纳索夫计算机。相比之下,阿塔纳索夫的证言则有力得多。他描述了自己当年所制作的机器,展示了一个模型,并指出了他被莫奇利借鉴的具体想法。这个案件总共传唤了77位证人出庭做证,另外还有80位证人进行了庭外做证,记录在案的证物多达32 600件。整场审讯持续了超过9个月的时间,成为到当时为止历时最长的一场联邦审讯。

拉尔森法官花了另外19个月的时间完成最终判决,并在1973年10月公布此案的判决书,他在其中裁定埃克特和莫奇利的ENIAC专利是无效的:“埃克特和莫奇利本身不是首先发明自动电子数字计算机的人,他们只是继承了约翰·文森特·阿塔纳索夫博士的想法。”Judge Earl Richard Larson decision,Honeywell v. Sperry Rand.斯佩里没有对这个判决提出上诉,而是选择与霍尼韦尔庭外和解。当时阿塔纳索夫已经退休。他在“二战”之后仍然在军械和火炮领域工作,没有继续进行计算机的研究。他在1995年去世。约翰·莫奇利在“二战”后继续进行计算机科学家的工作,包括担任斯佩里公司的顾问,以及美国计算机协会的创始人兼主席。他在1980年去世。同样地,埃克特的大部分职业生涯都在斯佩里公司度过。他在1995年去世。

这位法官的看法无疑是十分详尽的(判决书长达248页),但他忽视了这两台机器之间的一些重要区别。其实莫奇利向阿塔纳索夫借鉴的想法没有法官想象中的多。例如,阿塔纳索夫的电子电路使用的是二进制逻辑,而莫奇利采用的是十进制的计数器。如果埃克特和莫奇利当时申请的专利涵盖范围没有那么全面的话,他们也许能够逃过这一劫。

尽管这个案件仍然没有确定(即使是在法律上)谁对现代计算机的发明做出了最大的贡献,但是它确实发挥了两个重要的作用:它不仅将阿塔纳索夫从被遗忘的边缘重新带回了历史的舞台;而且虽然这可能不是法官本人或者案件双方的本意,但它还是明确证明了伟大的创新通常都是由多个创造者的想法融合而成的结果。一项发明,尤其是像计算机这样复杂的发明,通常都不是一个人的神来之笔,而是多人协作编织而成的创意图案。莫奇利曾经与许多人进行过交流,这点可能会使他的专利更难站得住脚,但是这样丝毫也不会降低他的影响力。


在值得被称为计算机发明者的人员名单当中,莫奇利和埃克特应当排在第一位,不是因为所有关于计算机的想法都是他们原创的,而是因为他们有能力将不同来源的想法聚集在一起,然后加入他们自己的创意,并建立一支合适的团队来执行他们的想法,而且他们对计算机的后续发展也产生了最为深远的影响。他们建造的机器是第一台通用型的电子计算机。“阿塔纳索夫也许在法庭上赢下了一分,但他后来还是回去继续当老师了,而我们却仍然站在前线建造第一台真正可编程的电子计算机。”埃克特后来指出了这点。Randall,“A Lost Interview with Presper Eckert.”

在计算机的发明历程当中,图灵也是功不可没的,因为他提出了通用型计算机的概念,后来更亲自加入了布莱切利园的计算机研发团队当中。至于其他人对计算机历史产生的贡献大小,你可以根据自己看重的标准进行判断。如果你着迷于那些独立发明家的传奇故事的话,那么你可能会将阿塔纳索夫和楚泽放到很高的地位。但是我们从计算机的诞生可以得到的主要经验是:创新通常都是一项团队工作,它需要远见者和工程师之间的协作,而且创意是一个集思广益的成果。这样的情景只会出现在故事书里面:在地下室、阁楼或者车库之中,有一个人突然灵光一闪,或者是在脑袋旁边亮起了一个小灯泡——一项发明就此诞生。

在哈佛大学,霍华德·艾肯和格雷斯·霍珀(1906——1992)与巴贝奇差分机的部分模型,照片摄于1946年

琼·詹宁斯和弗朗西斯·比拉斯与ENIAC

琼·詹宁斯(1924—2011),照片摄于1945年

贝蒂·斯奈德(1917—2001),照片摄于1944年