阿塔纳索夫是个爱车之人,如果可以的话,他希望每年都买一辆新车。1937年12月,他新买了一辆配备强力V8发动机的福特轿车。他在一天深夜开着这辆新车外出散心,而这段路程将会成为计算机历史上的一个重要节点。
阿塔纳索夫出生于1903年,他是家中7个孩子的老大。他的父亲是一位来自保加利亚的移民,母亲是新英格兰地区一个最为古老的家族的后代。他父亲先在新泽西州一家由托马斯·爱迪生开办的发电站担任工程师,后来举家搬到了佛罗里达州坦帕市南边的一个郊区小镇上。在9岁的时候,文森特已经可以帮助父亲安装新居的电线,之后他父亲送了一把计算尺给他。“那把计算尺是我的最爱。”他回忆道。29 他从小开始学习对数,他在回忆录中对此进行了郑重的描述,但他的学习兴趣还是显得有点与众不同:“你能想象一个满脑子想着打棒球的小男孩会被这种知识改变吗?在严格的对数学习面前,棒球的吸引力就几乎变为零了。”他在那年夏天就已经计算出了以e为底5的对数,后来在母亲的帮助下(她曾经是一位数学教师),他在读初中的时候就已经学会了微积分。身为电气工程师的父亲还带他去参观了自己工作的磷酸盐工厂,并向他展示了发电机的工作原理。青年时期的文森特性格谦逊,富有创意,而且才智过人,他在两年之内就完成了高中的课程,而且在双倍的课程负担下仍然拿到了全“A”的毕业成绩。
在一个远离楚泽和斯蒂比兹的地方,另外一位发明者也在1937年使用电子电路做实验。在艾奥瓦州的一个地下室中,他正在埋头进行下一项历史性的发明:一台部分使用真空管制成的计算设备。这台机器在某些方面不如同一时期的其他计算机先进:它既不能进行编程,也无法实现多种功能。他在机器中加入了一些运行缓慢的机械活动元件,所以它也不是一台完全电子化的设备。尽管他制造出了一个在理论上可用的模型,不过他无法使它完全可靠地运行。但无论如何,约翰·文森特·阿塔纳索夫(John Vincent Atanosoff,他的妻子和朋友们都叫他“文森特”)仍然应该得到这个称号——构想出第一台部分电子化的数字计算机的先驱。这个想法是他在1937年12月的一个晚上的长途驾驶途中突然出现的。28
在硕士毕业之后,阿塔纳索夫转入威斯康星大学继续攻读物理学博士学位。从巴贝奇开始,许多计算机先驱都遇到过同样的问题,阿塔纳索夫也不例外,他在研究氦气在电场中的极化方式时需要进行大量复杂的计算。在使用桌面加法机艰难地完成这些计算工作的过程中,他开始酝酿发明一台更强大的计算器的想法。1930年,他回到艾奥瓦州州立大学担任助理教授,这时他确信自己在电气工程学、数学和物理学方面的水平已经足以让他胜任这项发明工作。
1942年9月,阿塔纳索夫的完整机器已经接近制造完成。它的大小相当于一张书桌,内部含有接近300个真空管。不过它有一个无法解决的问题:它本来是利用火花来烧出打孔卡片上的孔洞的,但是这个机制一直无法正常运作,而且艾奥瓦州州立大学也没有能够帮助解决这个问题的机械师和工程师团队。
在1937年冬天的一个晚上,长时间的计算机研究工作已经使我的身心不堪重负。于是我开着自己的汽车,在路上高速行驶了很长一段时间,这样可以帮助我控制自己的情绪。我平常喜欢像这样驾车兜兜风:我可以通过专心驾驶来调节自己。不过那天晚上我感到压力特别大,所以我一路开过了密西西比河。到我停下来的时候,车子已经驶入了伊利诺伊州境内,那里距离我的出发点已有189英里的路程。32
阿塔纳索夫的计算机本来应当是一个重要的里程碑,但它最终还是沦为了历史的尘埃——无论从字面意义还是寓意上来说都是如此。这台几乎可以正常运行的机器被存放在艾奥瓦州州立大学物理系教学楼的地下室中,但是几年过后,似乎已经没有人记得这台机器是用来做什么的了。到了1948年,当学校需要空出这块场地另作他用时,一位不知情的研究生就把它拆卸了,并丢弃了大部分被拆下的零件。37 于是,许多早期写成的计算机发展史甚至都没有提及阿塔纳索夫的名字。
阿塔纳索夫的传奇故事一直为人津津乐道的地方在于,他是一位在地下室中工作的孤独匠人,在他身边只有一位年轻助手克利福德·贝瑞的陪伴。然而,他的故事正是我们不应该传奇化这种孤独者的明证。正如在自己的小型工坊埋头苦干的巴贝奇,同样只有一位助手的阿塔纳索夫也从来没有造出过一台完全可行的机器。如果他在贝尔实验室,他身边就会有一大群可以为他提供帮助的技术人员、工程师和修理工;或者如果身处一所大型的研究性大学,他也很有可能找出解决机器的读卡器和其他难题的方法。再者,当他在1942年被征召进入海军服役时,学校里面也应该留有团队成员继续完善这台机器,他们至少可以记得这台机器的用途。
他没有选择留在威斯康星大学,也没有进入哈佛大学或者其他同等水平的大型研究性大学,这些决定将对他的研究工作产生不利的影响。在艾奥瓦州州立大学,没有其他人研究制作新型计算器的方式,所以阿塔纳索夫只能孤军作战。他有时确实能提出一些新的想法,但是苦于身边没有人可以跟他交流或者帮助他克服理论和工程上的瓶颈。跟数字时代的大部分创新者都不一样的是,他是一个孤独的发明者。他只能在独自驾车的路上或者和一位研究生助理的讨论中获得灵感。这点最终被证明是他在研究工作上的阻碍。
1939年5月,阿塔纳索夫已经准备好开始制造一台原型机器。他需要一位助手,最好是一位拥有工程学经验的研究生。一天,大学里的一位同事告诉他:“我知道一位你要找的人。”这个人叫作克利福德·贝瑞(Clifford Berry),他的父亲也是一位自学成才的电气工程师。阿塔纳索夫和贝瑞很快就建立了合作关系。35
阿塔纳索夫计算机的复制品
即使这台机器可以正常运作,但它还是存在一些限制。它采用的真空管电路可以飞快地完成计算,但是机械驱动的存储器却将整体的处理速度大幅拉低了。在打孔卡片上烧出孔洞也是非常低效的做法,更何况这种方式本来就难以实现。如果要做到真正的快速运算,现代计算机必须实现完全电子化,不能只采用部分电子元件。另外,阿塔纳索夫的机器也不能进行编程,它只适用于完成一项任务:求解线性方程。
阿塔纳索夫本来应该是一个会被历史遗忘的人物,但讽刺的是,最终让他免于成为历史注脚的却是一个让他愤愤不平的事件。他在1941年6月接待了一位访客,跟孤军奋战的阿塔纳索夫不一样,这位访客喜欢到处访问,他能够将自己了解到的想法融会贯通,然后与其他人一起合作研究。约翰·莫奇利(John Mauchly)的艾奥瓦州之旅引出了后来的一系列代价高昂的法律诉讼、严厉的指责和相持不下的历史争论。但是这个事件也让阿塔纳索夫得到了应得的名誉,同时推动了计算机历史的发展。
他把车子驶离了公路,在一家路边的酒馆停了下来。伊利诺伊州跟艾奥瓦州不一样,他至少可以在这里轻易地找到喝一杯的地方。他给自己点了一杯波本威士忌苏打,喝完之后又再点了一杯。“我觉得自己没有那么焦虑了,而且我的思路开始重新进入计算机器的问题上,”他回忆道,“我不知道为什么之前没有想通的东西突然之间豁然开朗,我只是觉得自己进入了一种忘我的状态,周围也变得很安静。”酒馆女侍应的服务不甚周到,因此阿塔纳索夫可以在不被打扰的情况下继续研究他的问题。33
他首先着手解决的问题是如何在机器中储存数字。他采用了“记忆”(memory)一词来描述这个功能:“当时我对巴贝奇的工作只有粗略的了解,所以我不知道他将同样的概念称为‘仓库’(store)……我喜欢他的用词,如果我当时知道的话,也许我也会采用这个名称;不过我也喜欢‘记忆’这个词,因为它将这项功能比喻成人的大脑。”30
乔治·斯蒂比兹(1904—1995),照片约摄于1945年
为了筹集制造一台完整机器所需的资金,阿塔纳索夫在1939年年底展示了一台原型机,并使用复写纸写出了几份长达35页的计划书。“本文的主要目的是描述和说明一台计算机器,它的主要设计用途是求解大型线性代数方程组。”他在计划书的开头写道。就像是为了给这台只能实现有限功能的大型机器辩护一样,阿塔纳索夫详细列出了求解这种方程所需解决的问题:“曲线拟合……振动问题……电路分析……弹性结构。”他在计划书的结尾给出了一份详尽的预计制造成本清单,成本总额高达5 330美元。他最终通过一家私有基金筹集到了这笔资金。36 随后阿塔纳索夫把计划书的一份副本寄给了芝加哥的一位专利代理律师,然而这位受雇于艾奥瓦州州立大学的律师一直没有提交这份专利申请,他的玩忽职守导致了一段长达数十年的历史和法律争议。
就在这个时候,他的计算机研究工作中断了:为了响应美国海军的征召,阿塔纳索夫加入了位于华盛顿特区的海军装备实验室。他在那里负责声波水雷的研究,后来又参与了在比基尼环礁进行的原子弹试验。尽管他的研究重点从计算机转向了军械工程,但他仍然是一个发明家,他在服役期间获得了30项专利,其中包括一台扫雷设备。但是他在芝加哥聘用的律师却一直没有为他的计算机申请专利。
接下来出现了一个他从小就喜欢探究的数学理论问题:他应该在这台机器中采用什么数字系统呢?十进制、二进制,还是其他的进位制?作为数字系统的狂热爱好者,阿塔纳索夫研究过多种不同的选择。“百进制一度被认为是比较有希望的数字系统,”他在一篇未发表的论文中写道,“在同样的计算下,以自然底数e为基础的进位制在理论上可以实现最快的计算速度。”31 但是为了在理论与实际之间取得平衡,他最终决定采用二进制系统。到了1937年年底,他的脑海中充斥着许多不同的想法——各种各样的概念就像是“大杂烩”一样无法“融合”在一起。
康拉德·楚泽(1910——1995)与Z4计算机,照片摄于1944年
约翰·阿塔纳索夫(1903——1995)在艾奥瓦州州立大学,照片约摄于1940年
在确定了存储器使用的元件之后,阿塔纳索夫开始将注意力转向算术逻辑单元的制作,他将这个部分称为“计算机构”(computing mechanism)。他认为这个元件应该完全电子化,也就是需要使用价格昂贵的真空管。这些真空管将会起到通断开关的作用,在电路中实现逻辑门的功能,其中包括加法、减法和任意的布尔运算。
这台机器的设计和制造都是围绕一个目的展开的:求解联立线性方程。它可以处理多达29个方程变量。在每个计算步骤中,阿塔纳索夫的机器都可以处理两个方程并消去其中一个变量,然后将计算得出的方程打印在8×11格的二进制打孔卡片上。记录了经过简化的方程的卡片会被重新输入机器,进行新一轮的计算并消去另外一个变量。这个过程需要相当长的一段时间。这台机器(如果不出故障的话)需要花费几乎一个星期的时间才能计算出含有29个方程的方程组。不过人工使用桌面计算器计算同样的方程组则需要10个星期的时间。
他随后进入了佛罗里达大学学习电气工程专业。他在大学期间更加倾向于动手实践,经常出没于大学的机械车间和铸造厂。他同时还保持了对数学的热爱,他在大一的时候就学习了一种涉及二进制算法的证明法。聪明、自信的阿塔纳索夫以当时最高的平均绩点获得学士学位。他接受了艾奥瓦大学提供的奖学金,前往那里攻读数学和物理学的硕士学位,尽管他后来也被哈佛大学录取了,但他还是坚持了自己的决定,毅然前往位于玉米种植带的埃姆斯市继续深造。
阿塔纳索夫仔细筛选了一系列可能用作存储器的元件:机械插针、电磁继电器、可以被电荷极化的小块磁性材料、真空管以及一种小型的电容器(condenser)。其中速度最快的是真空管,但是它的价格太高了。所以他最后选择了电容器,这种元件具有体积较小和价格低廉的特点,而且能够短暂地储存电荷。这是一个可以理解的决定,但是使用电容器制成的机器会比较缓慢和笨重。虽然它在计算加法和减法时可以达到电子元件的速度,但是存储器存取数字时的速度将会下降至机械鼓轮的水平。
阿塔纳索夫最初的想法是制造一台模拟设备。由于他非常喜欢计算尺的设计,所以他先尝试了使用长胶卷来制作一把超大型的计算尺。但是他发现如果要达到求解线性代数方程所需的精度,这把计算尺将需要使用长达数百码的胶卷。他还制作了一个用于切割石蜡堆的装置,它可以通过这种方式来计算偏微分方程。这些模拟设备的种种限制让他不得不将注意力转向数字设备的制作。
他在一张餐巾纸上写下了自己的想法,然后开始整理一些实际问题的思路。其中最重要的是如何补充电容器中的电荷,否则它们的电量将会在一到两分钟之内耗尽。他想到的方法是将电容器装在旋转的圆柱形鼓轮里面,这种鼓轮的大小相当于46盎司V8蔬菜汁的罐子。在鼓轮旋转的过程中,电容器会以每秒一次的频率与电线做成的刷子进行接触,这个过程可以恢复电容器内部的电荷。“在酒馆度过的那个晚上,我思考了制作再生式存储器的可能性,”他表示,“我当时将这个过程称为‘唤起’(jogging)。”圆柱鼓轮每转动一圈,电线就会唤起电容器的“记忆”,然后在有必要的时候从电容器提取数据,并保存新的数据。他还想出了一种构造,它可以从两个不同的电容器鼓轮提取数字,然后使用真空管电路对它们进行加减计算,最后将结果放回存储器中。在经过了数个小时的思考之后,他回忆道:“我开始驾车回家,我在这段路上放慢了车速。”34