在二战的巨大压力下,英美两国独立制造出了最原始的计算机,Colossus和ENIAC。它们惊人的相似:都利用打孔卡输入,都运用真空管计算,都体积庞大,都对二战胜利功勋卓着。
二战史学家普遍认为,布莱切利园的工作使欧洲战场缩短了一年半到两年的时间,并直接切断了“沙漠之狐”隆美尔在北非的补给线;而曼哈顿计划则终结了太平洋战场。
现在,在这个戏剧性的擂台上,两个核心人物图灵和冯·诺伊曼都决心改进这两台原始机器相似的缺陷:只为专门目的设计,不能储存程序。改进的方向很明显,一如图灵1936年论文所预言的那样,造一台能完成任何目的的图灵通用机。
二战结束了,而冷战的阴影旋即逼近。核威慑成了一扇关不上的门,在间隔重重的美苏关系中,美国很快发现为求自保只能继续扩大核优势。
氢弹的研究成为了攻坚关键,而如何提高计算能力又成了重中之重。要造一台好机器!冯·诺伊曼教授对此深信不疑。
在哪里造?就在普林斯顿高等研究院!高等研究院院长面有难色:“我们这儿一直搞纯科学,造这么台大机器有点不像话吧?”
“钱哪来?一年十万美金的预算,你得让数学系经费翻三番!”“造了放哪?三间两百平米的大房子,二十四小时引擎折腾,我们这儿可没这样的兵工厂。”
鬼精明的冯·诺伊曼笑着对院长说既然这样那就算了,谢谢院长费心,一回头却给哈佛大学、芝加哥大学、IBM轮番写信:“我有兴趣到你那儿工作。”三所机构喜笑颜开,发出了热烈的聘书。
好个冯·诺伊曼,姜太公钓鱼,把哈佛的聘书给芝加哥看,把芝加哥的给IBM看,每个机构衬着别人的价码轮番加价,要是能把鼎鼎大名的冯·诺伊曼请到,送个金屋银屋都值!
他胜券在握,把哈佛的天价聘书呈给普林斯顿的同事看,伤感地说自己要辞职,教授们联名写信给院长:“失掉冯·诺伊曼将是普林斯顿的悲剧!”那院长也只能咬咬牙:去造你那台要命的机器吧。
1947年在普林斯顿高等研究院开始建造的MANIAC计算机在任何意义上都超过了前任ENIAC。ENIAC用了两万个真空管,MANIAC只用了两千个。ENIAC重达三十吨,MANIAC只有一吨。
最关键的是,ENIAC不能贮存程序,每个 不同的任务都需要重新排布电线,而MANIAC可以读取由打孔卡上二进制编码的程序,贮存在存储器中。
它是世界上第一台真正的全能自动电子计算机,是后世所有计算机的母型。它完成的诸多军方任务中,最惹眼的是一次耗时60昼夜的计算,其结果证明了氢弹制造的可行性。
1957届校友Joshua Dranoff,日后成为西北大学化工系教授,在五十年代利用MANIAC完成了他化工博士论文,其中设计了一个用计算机模拟实验结果的步骤。
他告诉我,每一天机器运行之前有漫长的检修,技术工拿着一箱电线和真空管爬进MANIAC内部逐一更换坏损零件。各个专业的学生等在实验室外叽叽喳喳地排队签到,他们都想尝尝MANIAC的鲜,在论文里时髦地用计算机做个小项目。
1958届校友Jerry Porter,日后成为宾夕法尼亚大学数学系教授,是第一个运用MANIAC完成本科毕业论文的学生。
他大三大四时还带领一帮同学负责MANIAC的夜班值勤,他们得盯着示波器屏幕,时刻监测MANIAC宝贵的1024比特随机存储器不被烧坏。
这个夜班工作激发了他对计算机的兴趣,日后的学术生涯他专注于计算数学领域。
于是乎,在未受战争破坏的美国,由ENIAC掀起的计算机和电子工程科学搞得风生水起,并很快由IBM公司实现了商业运作。到1960年MANIAC光荣退休被捐赠给史密森尼国家博物馆(Smithsonian)时,全美已经拥有了6000台计算机。
在废墟上的英国,博士生图灵的运气远没那么好。二战后,为保护英国情报网,布莱切利园大部分文件资料被焚烧销毁,其余被归为机密档案。
胜利的光荣属于海陆空三军,而布莱切利园的工作人员必须对战时工作保持沉默。头号功臣图灵被授予大英帝国官佐勋章(OBE),可即便他的母亲也只是知道,“他做了点了不起的事情。”
图灵被分配到国家物理实验室工作,迫不及待地想要改进Colossus。 他向实验室提交了一份项目申请,详尽地阐明自己将如何建造一台能贮存程序的计算机,事无巨细地列出所有图纸和经费计划。
可是,战时布莱切利园的高效和无节制的战争经费已经让位于战后拖拉的官僚作风和经济危机。
过目这份申请的负责人没有一个看出这庞然大物的用处,大部分人甚至不相信计算机可以造出来——可笑可叹,与ENIAC的风光截然不同,为情报服务的Colossus对外界是“不存在”的。
图灵甚至不能告诉别人,这台他们认为不可能造的机器已经造出来了。
1948年,受够了国家实验室的官僚作风,图灵跳槽到曼彻斯特大学计算实验室 (Computing Labatory),这里受到美国ENIAC的激励正在建造英国第一台贮存程序式电脑Manchester Mark I。
图灵本该大有作为,可是制造这么大一个机器需要和很多人协调,他孤僻的性格很快让同事与之疏远,大部分建议被当作书呆子的意气而姑妄听之。
不久,他聊以自慰地发现,造计算机的难点主要是硬件而非数学模型,那还是把琐碎的工程问题留给工程师吧。他呢,他只要能够“想”就行了。想——他开始为一个根本不存在的计算机想一种下象棋的程序。
四年后,他会扮演这台虚构的计算机,严格执行自己的程序,和朋友下了一场真正的象棋比赛,每一步耗时半小时。他和朋友下输了,却赢了朋友的妻子一局。
对于数学家图灵,即使永远没有计算机的实体,这件事也已经做完了。“想出来”就是“做出来”。