这是一个不太为人们熟知,却在计算机史上不能忽视的名字:查尔斯·巴贝奇。他被称为“计算机之父”,虽然他穷极一生也未能制造出他描述的机器,但是他那超前了一个世纪的设想,却是现代计算机理论设计的雏形。
现今出版的许多计算机书籍扉页里,都登载着巴贝奇的照片:宽阔的额,狭长的嘴,锐利的目光显得有些愤世嫉俗,坚定但绝非缺乏幽默的外貌,给人以一种极富深邃思想的学者形象。
查尔斯·巴贝奇,出生于英格兰西南部的托特纳斯,父亲是一位富有的银行家。童年时代的巴贝奇显示出极高的数学天赋,考入剑桥大学后,他掌握的数学知识甚至超过了教师。
毕业留校,24岁的巴贝奇荣幸地受聘担任剑桥“路卡辛讲座”的数学教授——这是一个很少有人能够获得的殊荣。假若巴贝奇继续在数学理论领域耕耘,本可以走上鲜花铺就的坦途。然而,这位旷世奇才却选择了一条无人敢于攀登的崎岖险路。
用一台机器“拯救宇宙”
18世纪末,法国发起了一项宏大的计算工程──人工编制《数学用表》,这在没有先进计算工具的当时,可是件极其艰巨的工作。法国数学界调集大批精兵强将,组成了人工手算的流水线,算得天昏地暗,才完成了17卷大部头书稿。即便如此,计算出的数学用表仍然存在大量错误。
有一天,巴贝奇与著名的天文学家赫舍尔凑在一起,对两大部头的天文数表评头论足,发现错漏百出,巴贝奇目噔口呆,他喊道:“天哪,但愿上帝知道,这些计算错误已经充斥弥漫了整个宇宙!”所以,他想要造一台机器来“拯救宇宙”。
巴贝奇的第一个目标是制作一台“差分机”。他从法国人杰卡德发明的编程提花织布机上获得灵感,想设计一台可以自动处理不同函数的计算机器。
1822年,巴贝奇小试锋芒便初战告捷,第一台差分机呱呱坠地。但是,这一“小试”也耗去了整整10年。在他孤军奋战下造出的这台机器,运算精度达到了6位小数,当即就演算出好几种函数表。后来的实际运用证明,这种机器非常适合于编制航海和天文方面的数学用表。
差分机二号失败
成功的喜悦激励着巴贝奇,他上书皇家学会,请求政府资助他建造第二台运算精度为20位小数的大型差分机。英国政府破天荒地与他签订了第一个合同,财政部慷慨地为这台大型差分机提供1.7万英镑的资助。在当年,这笔款项的数额无异于天文数字──要知道,1831年约翰·布尔制造一台蒸汽机车头的费用才784英磅。
然而,第二台差分机却以失败告终!25000个精密零件,误差率不超过每英寸千分之一,即便使用现代先进的加工设备和技术,要想造出这种高精度的机械也绝非易事。
当时,巴贝奇把差分机交给了英国最著名的机械工程师约瑟夫·克莱门特所属的工厂制造,但工程进度十分缓慢。设计图纸改了又改,工人们把零件重做一遍又一遍。日复一日,年复一年,直到又一个10年过去了,全部零件却只完成不足一半数量。参加试验的同事们再也坚持不下去,纷纷离他而去。
巴贝奇独自苦苦支撑了第三个10年,最终无力回天。在痛苦的煎熬中,他无计可施,只得把全部设计图纸和已完成的部分零件送进伦敦皇家学院博物馆供人观赏。
分析机——计算机设计的理论雏形
差分机的制造,虽然以失败告终,但是,天才巴贝奇提出来的理念却让后人敬仰——1834年,巴贝奇提出了一项新的更大胆的设计。不是仅仅能制表的差分机,而是一种通用的数学计算机,即“分析机”——它能自动解算有100个变量的复杂算题,每个数可达25位,速度可达每秒钟运算一次。
巴贝奇首先为分析机构思了一种齿轮式的“存贮库”,每一齿轮可贮存10个数,总共能储存1000个50位数。分析机的第二个部件是“运算室”,其基本原理与帕斯卡的转轮相似,但他改进了进位装置,使50位数加50位数的运算可完成于一次转轮之中。
此外,巴贝奇也构思了送入和取出数据的机构以及在“存储库”和“运算室”之间运输数据的部件,他甚至还考虑到如何使这台机器处理依条件转移的动作。
一个多世纪过去后,现代电脑的结构几乎就是巴贝奇分析机的翻版,只不过它的主要部件被换成了大规模集成电路而已。仅此一说,巴贝奇就当之无愧于计算机的“开山鼻祖”。(责任编辑/梅松)