无处不在、无所不能的电脑,已历经了50多个春华秋实。50余年在人类的历史长河中只是一瞬间,电脑却彻底改变了我们的生活。
回顾电脑发展的历史,并依此上溯它的起源,真令人惊叹沧海桑田的巨变;历数电脑史上的英雄人物和跌宕起伏的发明故事,将给后人留下了长久的思索和启迪。请读者随着我们的史话倒转时空,从电脑最初的源头说起。
谁都知道,电脑的学名叫做电子计算机。以人类发明这种机器的初衷,它的始祖应该是计算工具。英语里“Calculus”(计算)一词来源于拉丁语,既有“算法”的含义,也有肾脏或胆囊里的“结石”的意思。远古的人们用石头来计算捕获的猎物,石头就是他们的计算工具。著名科普作家阿西莫夫说,人类最早的计算工具是手指,英语单词“Dight”既表示“手指”又表示“整数数字”;而中国古人常用“结绳”来帮助记事,“结绳”当然也可以充当计算工具。石头、手指、绳子……,这些都是古人用过的“计算机”。
不知何时,许多国家的人都不约而同想到用“筹码”来改进工具,其中要数中国的算筹最有名气。商周时代问世的算筹,实际上是一种竹制、木制或骨制的小棍。古人在地面或盘子里反复摆弄这些小棍,通过移动来进行计算,从此出现了“运筹”这个词,运筹就是计算,后来才派生出“筹”的词义。
中国古代科学家祖冲之最先算出了圆周率小数点后的第6位,使用的工具正是算筹,这个结果即使用笔算也很不容易求得。
欧洲人发明的算筹与中国不尽相同,他们的算筹是根据“格子乘法”的原理制成。例如要计算×,可以先画一个矩形,然后把它分成3×2个小格子,在小格子边依次写下乘数、被乘数的各位数字,再用对角线把小格子一分为二,分别记录上述各位数字相应乘积的十位数与个位数。把这些乘积由右到左,沿斜线方向相加,最后就得到乘积。年,英国数学家纳皮尔把格子乘法表中可能出现的结果,印刻在一些狭长条的算筹上,利用算筹的摆放来进行乘、除或其他运算。
纳皮尔算筹在很长一段时间里,是欧洲人主要的计算工具。算筹在使用中,一旦遇到复杂运算常弄得繁杂混乱,让人感到不便,于是中国人又发明了一种新式的“计算机”。
著名作家谢尔顿在他的小说《假如明天来临》里讲过一个故事:骗子杰夫向经销商兜售一种袖珍计算机,说它“价格低廉,绝无故障,节约能源,十年中无需任何保养”。当商人打开包装盒一看,这台“计算机”原来是一把来自中国的算盘。
世界文明的四大发源地——黄河流域、印度河流域、尼罗河流域和幼发拉底河流域——先后都出现过不同形式的算盘,只有中国的珠算盘一直沿用至今。珠算盘最早可能萌芽于汉代,定型于南北朝。它利用进位制记数,通过拨动算珠进行运算:上珠每珠当五,下珠每珠当一,每一档可当作一个数位。打算盘必须记住一套口诀,口诀相当于算盘的“软件”。
算盘本身还可以存储数字,使用起来的确很方便,它帮助中国古代数学家取得了不少重大的科技成果,在人类计算工具史上具有重要的地位。
15世纪以后,随着天文、航海的发展,计算工作日趋繁重,迫切需要探求新的计算方法并改进计算工具。年,英国数学家奥特雷德使用当时流行的对数刻度尺做乘法运算,突然萌生了一个念头:若采用两根相互滑动的对数刻度尺,不就省得用两脚规度量长度吗?他的这个设想导致了“机械化”计算尺的诞生。奥特雷德是理论数学家,对这个小小的计算尺并不在意,也没有打算让它流传于世,此后二百年,他的发明未被实际运用。
18世纪末,以发明蒸汽机闻名于世的瓦特,成功地制出了第一把名副其实的计算尺。瓦特原来就是一位仪表匠,他的蒸汽机工厂投产后,需要迅速计算蒸汽机的功率和气缸体积。瓦特设计的计算尺,在尺座上多了一个滑标,用来“存储”计算的中间结果,这种滑标很长时间一直被后人所沿用。
年以后,对数计算尺迅速发展,成了工程师们必不可少的随身携带的“计算机”,直到20世纪五、六十年代,它仍然是代表工科大学生身份的一种标志。
全世界“有思想的芦苇”,尤其是计算机领域的后来者,都不会忘记帕斯卡在浑沌中点燃的亮光。年发明的一种程序设计语言——PASCAL语言,就是为了纪念这位先驱,使帕斯卡的英名长留在电脑时代里。
帕斯卡逝世后不久,与法兰西毗邻的德国莱茵河畔,有位英俊的年轻人正挑灯夜读。黎明时分,青年人站起身,揉了一下疲乏的腰部,脸上流露出会心的微笑,一个朦胧的设想已酝酿成熟。虽然在帕斯卡发明加法器的时候,他尚未出世,但这篇由帕斯卡亲自撰写的关于加法计算机的论文,却使他似醍醐灌顶,勾起强烈的发明欲。他就是德国大数学家、被《不列颠百科全书》称为“西方文明最伟大的人物之一”的莱布尼茨(G.Leibnitz)。
稍熟悉电脑程序设计的人都知道,连续重复计算加法就是现代计算机做乘除运算采用的办法。莱布尼茨的计算机,加、减、乘、除四则运算一应俱全,也给其后风靡一时的手摇计算机铺平了道路。
不久,因独立发明微积分而与牛顿齐名的莱布尼茨,又为计算机提出了“二进制”数的设计思路。有人说,他的想法来自于东方中国。
大约在公元年左右某天,友人送给他一幅从中国带来图画,名称叫做“八卦”,是宋朝人邵雍所摹绘的一张“易图”。莱布尼茨用放大镜仔细观察八卦的每一卦象,发现它们都由阳(—)和阴(--)两种符号组合而成。他挠有兴趣地把8种卦象颠来倒去排列组合,脑海中突然火花一闪——这不就是很有规律的二进制数字吗?若认为阳(—)是“1”,阴(--)是“0”,八卦恰好组成了二进制到共8个基本序数。正是在中国人睿智的启迪下,莱布尼茨最终悟出了二进制数之真谛。虽然莱布尼茨设计的计算机用的还是十进制,但他率先系统提出了二进制数的运算法则,直到今天,二进制数仍然左右着现代电脑的高速运算。