“编织”的程序
要让机器听人类的话,按人类的意愿去计算,就要实现人与机器之间的对话,
或者说,要把人类的思想传送给机器,让机器按人的意志自动执行。
说来也怪,实现人与机器对话的始作俑者却不是研制计算机的那些前辈,而
是与计算机发明毫不相干的两位法国纺织机械师。他们先后发明了一种指挥机器
工作的“程序”,把思想直接“注入”到了提花编织机的针尖上。
顾名思义,提花编织机具有升降纱线的提花装置,是一种能使绸布编织出图
案花纹的织布机器。
应该是,提花编织机最早出现在中国。在我国出土的战国时代墓葬物品中,
就有许多用彩色丝线编织的漂亮花布。据史书记载,西汉年间,钜鹿县纺织工匠
陈宝光的妻子,能熟练地掌握提花机操作技术,她的机器配置了120 根经线,
平均60 天即可织成一匹花布,每匹价值万钱。明朝刻印的《天工开物》一书中,
还赫然地印着一幅提花机的示意图。可以想象,当欧洲的王公贵族对从“丝绸之
路”传入的美丽绸缎赞叹不已时,中国的提花机也必定会沿着“丝绸之路”传入
欧洲。
不过,用当时的编织机编织图案相当费事。所有的绸布都是用经线(纵向线)
和纬线(横向线)编织而成。若要织出花样,织工们必须细心地按照预先设计的
图案,在适当位置“提”起一部分经线,以便让滑梭牵引着不同颜色的纬线通
过。机器当然不可能自己“想”到该在何处提线,只能靠人手“提”起一根又一
根经线,不厌其烦地重复这种操作。
1725 年,法国纺织机械师布乔(B.Bouchon)突发奇想,想出了一个“穿
孔纸带”的绝妙主意。布乔首先设法用一排编织针控制所有的经线运动,然后取
来一卷纸带,根据图案打出一排排小孔,并把它压在编织针上。启动机器后,正
对着小孔的编织针能穿过去钩起经线,其他的针则被纸带挡住不动。这样一来,
编织针就自动按照预先设计的图案去挑选经线,布乔的“思想”于是“传递”给
了编织机,而编织图案的“程序”也就“储存”在穿孔纸带的小孔之中。
真正成功的改进是在80 年后,另一位法国机械师杰卡德(J.Jacquard),
大约在1805 年完成了“自动提花编织机”的设计制作。
那是举世瞩目的法国大革命的年代──攻打巴士底狱,推翻封建王朝,武装
保卫巴黎,市民们高唱着“马赛曲”,纷纷走上街头,革命风暴如火如荼。虽然
杰卡德在1790 年就基本形成了他的提花机设计构想,但为了参加革命,他无暇
顾及发明创造,也扛起来福枪,投身到里昂保卫战的行列里。直到19 世纪到来
之后,杰卡德的机器才得以组装完成。
杰卡德为他的提花机增加了一种装置,能够同时操纵1200 个编织针,控制
图案的穿孔纸带后来也换成了穿孔卡片。据说,杰卡德编织机面世后仅25 年,
考文垂附近的乡村里就有了600 台,在老式蒸气机噗嗤噗嗤的伴奏下,把穿孔
卡片上的图案变成一匹匹漂亮的花绸布。纺织工人最初强烈反对这架自动化的新
鲜玩意的到来,因为害怕机器会抢去他们的饭碗,使他们失去工作,但因为它优
越的性能,终于被人们普遍接受。1812 年,仅在法国已经装配了万余台,并通
过英国传遍了西方世界,杰卡德也因此而被受予了荣誉军团十字勋章和金质奖章。
杰卡德提花编织机奏响了19 世纪机器自动化的序曲。在伦敦出版的《不列
颠百科全书》和中国出版的《英汉科技词汇大全》两部书中,“JACQUARD”(杰
卡德)一词的词条下,英语和汉语的意思居然都是“提花机”,可见,杰卡德的
名字已经与提花机融为了一体。杰卡德提花机的原理,即使到了电脑时代的今天,
依然没有更大的改动,街头巷尾小作坊里使用的手工绒线编织机,其基本结构仍
与杰卡德编织机大体相似。
此外,杰卡德编织机“千疮百孔”的穿孔卡片,不仅让机器编织出绚丽多彩
的图案,而且意味着程序控制思想的萌芽,穿孔纸带和穿孔卡片也广泛用于早期
电脑以存储程序和数据。或许,我们现在把“程序设计”俗称为“编程序”,就
引申自编织机的“编织花布”的词义。
失败的英雄
今天出版的许多计算机书籍扉页里,都登载着巴贝奇(C.Babbage)的照片:
宽阔的额,狭长的嘴,锐利的目光显得有些愤世嫉俗,坚定的但绝非缺乏幽默的
外貌,给人以一个极富深邃思想的学者形象。
巴贝奇是一位富有的银行家的儿子,1792 年出生在英格兰西南部的托特纳
斯,后来继承了相当丰厚的遗产,但他把金钱都用于了科学研究。童年时代的巴
贝奇显示出极高的数学天赋,考入剑桥大学后,他发现自己掌握的代数知识甚
至超过了教师。毕业留校,24 岁的年青人荣幸受聘担任剑桥大学“路卡辛讲座”
的数学教授。这是一个很少有人能够获得的殊荣,牛顿的老师巴罗是第一名,牛
顿是第二名。在教学之余,巴贝奇完成了大量发明创造,如运用运筹学理论率先
提出“一便士邮资”制度,发明了供火车使用的速度计和排障器等等。
假若巴贝奇继续在数学理论和科技发明领域耕耘,他本来是可以走上鲜花铺
就的坦途。然而,这位旷世奇才却选择了一条无人敢于攀登的崎岖险路。
事情还得从法国讲起。18 世纪末,法兰西发起了一项宏大的计算工程─
─人工编制《数学用表》,这在没有先进计算工具的当时,是件极其艰巨的工作。
法国数学界调集大批数学家,组成了人工手算的流水线,算得天昏地暗,才完成
了17 卷大部头书稿。即便如此,计算出的数学用表仍然存在大量错误。
据说有一天,巴贝奇与著名的天文学家赫舍尔凑在一起,对两大部头的天文
数表评头论足,翻一页就是一个错,翻两页就有好几处。面对错误百出的数学表,
巴贝奇目瞪口呆,他甚至喊出声来:“天哪,这些计算错误已经充斥弥漫了整个
宇宙!”
这件事也许就是巴贝奇萌生研制计算机构想的起因。巴贝奇在他的自传《一
个哲学家的生命历程》里,写到了大约发生在1812 年的一件事:“有一天晚上,
我坐在剑桥大学的分析学会办公室里,神志恍惚地低头看着面前打开的一张对数
表。一位会员走进屋来,瞧见我的样子,忙喊道:‘喂!你梦见什么啦?’我指
着对数表回答说:‘我正在考虑这些表也许能用机器来计算!’”
巴贝奇的第一个目标是制作一台“差分机”。所谓“差分”的含义,是把函
数表的复杂算式转化为差分运算,用简单的加法代替平方运算。那一年,刚满
20 岁的巴贝奇从法国人杰卡德发明的提花编织机上获得了灵感,差分机设计闪
烁出了程序控制的灵光──它能够按照设计者的旨意,自动处理不同函数的计算
过程。
巴贝奇耗费了整整十年光阴,于1822 年完成了第一台差分机,它可以处理
3 个不同的5 位数,计算精度达到6 位小数,当即就演算出好几种函数表。由于
当时工业技术水平极低,第一台差分机从设计绘图到机械零件加工,都是巴贝奇
亲自动手完成。当他看着自己的机器制作出准确无误的《数学用表》,高兴地对
人讲:“哪怕我的机器出了故障,比如齿轮被卡住不能动,那也毫无关系。你看,
每个轮子上都有数字标记,它不会欺骗任何人。”以后实际运用证明,这种机器
非常适合于编制航海和天文方面的数学用表。
成功的喜悦激励着巴贝奇,他连夜奋笔上书皇家学会,要求政府资助他建造
第二台运算精度为20 位的大型差分机。英国政府看到巴贝奇的研究有利可图,
破天荒地与科学家签订了第一个合同,财政部慷慨地为这台大型差分机提供出
1.7 万英镑的资助。巴贝奇自己也贴进去1.3 万英镑巨款,用以弥补研制经费
的不足。在当年,这笔款项的数额无异于天文数字──有资料介绍说,1831 年
约翰·布尔制造一台蒸汽机车的费用才784 英磅。
然而,第二台差分机在机械制造工厂里触上了“暗礁”。
第二台差分机大约有25000 个零件,主要零件的误差不得超过每英寸千分
之一,即使用现在的加工设备和技术,要想造出这种高精度的机械也绝非易事。
巴贝奇把差分机交给了英国最著名的机械工程师约瑟夫·克莱门特所属的工厂制
造,但工程进度十分缓慢。设计师心急火燎,从剑桥到工厂,从工厂到剑桥,一
天几个来回。他把图纸改了又改,让工人把零件重做一遍又一遍。年复一年,日
复一日,直到又一个10 年过去后,巴贝奇依然望着那些不能运转的机器发愁,
全部零件亦只完成不足一半数量。参加试验的同事们再也坚持不下去,纷纷离他
而去。巴贝奇独自苦苦支撑了第三个10 年,终于感到无力回天。
那天清晨,巴贝奇走进车间,偌大的作业场空无一人,只剩下满地的滑车和
齿轮,四处一片狼藉。他呆立在尚未完工的机器旁,深深地叹了口气。在痛苦的
煎熬中,他无计可施,只得把全部设计图纸和已完成的部分零件送进伦敦皇家学
院博物馆供人观赏。
1842 年,在巴贝奇的一生中是极不平常的一年。英国政府宣布断绝对他的
一切资助,连科学界的友人都用一种怪异的目光看着他。英国首相讥讽道:“这
部机器的唯一用途,就是花掉大笔金钱!”同行们讥笑他是“愚笨的巴贝奇”。
皇家学院的权威人士,包括著名天文学家艾瑞等人,都公开宣称他的差分机“毫
无任何价值”……