巴贝兹是19世纪具备伟大发明精神的人物之一,1822年,他创造出被视为最早自动计算机的小型差分机(difference engine)。1834年,他着手设计分析机(analytical engine)。如果当时有实物问世的话,那将是世界上第一部通用计算机。分析机设想要解决数学上的一切问题。更为重要的是:这一机器被设计成具备与现代计算机所用分支、子程序、程序中一群指令循环等几乎完全相同的功能。
巴贝兹于1791年12月26日生于英国伦敦郊区的一个小镇。小时候是个多病的孩子,体质羸弱;但好奇心强烈,具有创造精神。孩提时代的另一个特点是对超自然现象的着迷。1810年10月,巴贝兹考入剑桥大学的三一学院,学习数学和化学。没有多久,巴贝兹就断定:他自己的知识超过了那些数学老师。当时在欧洲,新的数学概念已经开始传播。而在剑桥,200年前的牛顿数学依然占据主导地位。
巴贝兹与几位朋友组成了一个名叫“分析协会”的俱乐部,发誓要对社会开展启蒙。这个协会一面强调代数的抽象性,一面引进欧洲大陆的新思维,从而使英国的数学研究重新活跃起来。
成为转折点的一次简短对话
完美主义者巴贝兹把重点放在准确性上。他感到必须提高当时机械式计算机的性能。一天晚上,在剑桥大学的分析协会,一个会员挨近巴贝兹身旁,当时他坐在放着对数表的桌子前,正处于半睡半醒状态。朋友问道:”你梦见了什么?”巴贝兹抬头看了看这人,回答说:“也许能找到一种方法,可以用机来计算这张桌上柄有的数表。”这次简短的、不那么有戏剧性的对话,成了计算机历史的一个伟大转折点。
巴贝兹决定全力以赴来实现自动计算数表的目标。迄至1822年前,他设计了差分机——用以计算数表,特别是航海所需数表的小型装置,并做出了试制品。1822年6月14日,巴贝兹在皇家天文协会提议制造大型差分机。
到1823年7月止,巴贝兹从财务当局领取了1500英镑的资金补贴,尽管很难说这笔金额已经足够了。巴贝兹满以为这样一来就在资金方面有了官方后盾,但事实上并没有像他所想象的那样保持长久,他雇佣了当时英国优秀的工具制造师约瑟夫 · 克雷孟特。起初,巴贝兹打算用2 ~ 3年时间制造出差分机,但马上就发现这种想法过于乐观了。
首先,收集工具极为困难,以后几年,巴贝兹设计了用于差分机的部件,接着着手设计制造部件的机器。
有时,他自己就是完成计划的最大敌人。迷恋于完美主义的巴贝兹多次改变了设计,使从事制造的工匠都不得不回到出发点,从制造工具开始重新做起。
1834年,他着手设计新机器,以后两年,几乎编出了现代计算机所有主要的单元。为了真正有用,计算机必须有通用性,必须同时胜任数值运算和逻辑运算。巴贝兹把这种更为先进的装置命名为“分析机”。如果他当时制成了这种装置,那么分析机将成为世界上第一部通用计算机。差不多同样重要的是,分析机被设想为可以编程。
巴贝兹装置的概念惊人之点是在于与现代计算机的类似。指令用穿孔卡读入分析机的存储部,这在本质上与现代计算机的寄存器相同。
穿孔卡的想法来自当时具有革命性的杰卡尔织机,这种织机使用穿孔卡自动织出织物的花纹。巴贝兹不是用卡孔的图形来决定纱线的位置,而是用之于数学指令。巴贝兹来曾想到的只是可以利用电,以及指令可以有运算部分等。
拜伦之女成了支持者
如果没有拉布莱斯伯爵夫人艾达(诗人拜伦之女)的献身,巴贝兹的同时代人大概不会了解他的功绩。1833年6月5 日,巴贝兹在自己家中的舞会上第一次与艾达会面,当时她17岁。
1843年,业余数学家艾达,在意大利技术人员一篇有关分析机论文的英译稿上加上详细的注释,然后将稿件寄到英国,从而使人们注意到巴贝兹的贡献。艾达的注释成了计算机历史中的主要文献。艾达写道:“可以说,正像杰卡尔织机织出花、叶的图案一样,分析机能织出代数图案。”拉布莱斯夫妇与巴贝兹成为终生挚友,艾达成了巴贝兹理论的支持者。
[科学朝日(日)1989年1月号]