原文链接
◆ ◆ ◆
计算机始祖
谁都知道电脑的学名叫做电子计算机。以人类发明这种机器的初衷它的始祖应该是计算工具。英语里“Calculus”计算一词来源于拉丁语既有“算法”的含义也有肾脏或胆囊里的“结石”的意思。远古的人们用石头来计算捕获的猎物石头就是他们的计算工具。著名科普作家阿西莫夫说人类最早的计算工具是手指英语单词“Dight”既表示“手指”又表示“整数数字”而中国古人常用“结绳”来帮助记事“结绳”当然也可以充当计算工具。石头、手指、绳子……这些都是古人用过的“计算机”。
不知何时许多国家的人都不约而同想到用“筹码”来改进工具其中要数中国的算筹最有名气。商周时代问世的算筹实际上是一种竹制、木制或骨制的小棍。古人在地面或盘子里反复摆弄这些小棍通过移动来进行计算从此出现了“运筹”这个词运筹就是计算后来才派生出“筹”的词义。中国古代科学家祖冲之最先算出了圆周率小数点后的第6位使用的工具正是算筹这个结果即使用笔算也很不容易求得。
欧洲人发明的算筹与中国不尽相同他们的算筹是根据“格子乘法”的原理制成。例如要计算1248×456可以先画一个矩形然后把它分成3×2个小格子在小格子边依次写下乘数、被乘数的各位数字再用对角线把小格子一分为二分别记录上述各位数字相应乘积的十位数与个位数。把这些乘积由右到左沿斜线方向相加最后就得到乘积。
1617年英国数学家纳皮尔把格子乘法表中可能出现的结果印刻在一些狭长条的算筹上利用算筹的摆放来进行乘、除或其他运算。纳皮尔算筹在很长一段时间里是欧洲人主要的计算工具。
算筹在使用中一旦遇到复杂运算常弄得繁杂混乱让人感到不便于是中国人又发明了一种新式的“计算机”。
著名作家谢尔顿在他的小说《假如明天来临》里讲过一个故事骗子杰夫向经销商兜售一种袖珍计算机说它“价格低廉绝无故障节约能源十年中无需任何保养”。当商人打开包装盒一看这台“计算机”原来是一把来自中国的算盘。世界文明的四大发
源地——黄河流域、印度河流域、尼罗河流域和幼发拉底河流域——先后都出现过不同形式的算盘只有中国的珠算盘一直沿用至今。
珠算盘最早可能萌芽于汉代定型于南北朝。它利用进位制记数通过拨动算珠进行运算上珠每珠当五下珠每珠当一每一档可当作一个数位。打算盘必须记住一套口诀口诀相当于算盘的“软件”。算盘本身还可以存储数字使用起来的确很方便它帮助中国古代数学家取得了不少重大的科技成果在人类计算工具史上具有重要的地位。
15世纪以后随着天文、航海的发展计算工作日趋繁重迫切需要探求新的计算方法并改进计算工具。1630年英国数学家奥特雷德使用当时流行的对数刻度尺做乘法运算突然萌生了一个念头若采用两根相互滑动的对数刻度尺不就省得用两脚规度量长度吗他的这个设想导致了“机械化”计算尺的诞生。
奥特雷德是理论数学家对这个小小的计算尺并不在意也没有打算让它流传于世此后二百年他的发明未被实际运用。18世纪末以发明蒸汽机闻名于世的瓦特成功地制出了第一把名副其实的计算尺。瓦特原来就是一位仪表匠他的蒸汽机工厂投产后需要迅速计算蒸汽机的功率和气缸体积。瓦特设计的计算尺在尺座上多了一个滑标用来“存储”计算的中间结果这种滑标很长时间一直被后人所沿用。
1850年以后对数计算尺迅速发展成了工程师们必不可少的随身携带的“计算机”直到20世纪五、六十年代它仍然是代表工科大学生身份的一种标志。
凝聚着许许多多科学家和能工巧匠智慧的早期计算工具在不同的历史阶段发挥过巨大作用但也将随着科学发展而逐渐消亡最终完成它们的历史使命。
◆ ◆ ◆
第一抹曙光
第一台真正的计算机是著名科学家帕斯卡B.Pascal发明的机械计算机。
帕斯卡1623年出生在法国一位数学家家庭他三岁丧母由担任着税务官的父亲拉扯他长大成人。从小他就显示出对科学研究浓厚的兴趣。
少年帕斯卡对他的父亲一往情深他每天都看着年迈的父亲费力地计算税率税款很想帮助做点事可又怕父亲不放心。于是未来的科学家想到了为父亲制做一台可以计算税款的机器。19岁那年他发明了人类有史以来第一台机械计算机。
帕斯卡的计算机是一种系列齿轮组成的装置外形像一个长方盒子用儿童玩具那种钥匙旋紧发条后才能转动只能够做加法和减法。然而即使只做加法也有个“逢十进一”的进位问题。聪明的帕斯卡采用了一种小爪子式的棘轮装置。当定位齿轮朝9转动时棘爪便逐渐升高一旦齿轮转到0棘爪就“咔嚓”一声跌落下来推动十位数的齿轮前进一档。
帕斯卡发明成功后一连制作了50台这种被人称为“帕斯卡加法器”的计算机至少现在还有5台保存着。比如在法国巴黎工艺学校、英国伦敦科学博物馆都可以看到帕斯卡计算机原型。据说在中国的故宫博物院也保存着两台铜制的复制品是当年外国人送给慈僖太后的礼品“老佛爷”哪里懂得它的奥妙只把它当成了西方的洋玩具藏在深宫里面。
帕斯卡是真正的天才他在诸多领域内都有建树。后人在介绍他时说他是数学家、物理学家、哲学家、流体动力学家和概率论的创始人。凡是学过物理的人都知道一个关于液体压强性质的“帕斯卡定律”这个定律就是他的伟大发现并以他的名字命名的。他甚至还是文学家其文笔优美的散文在法国极负盛名。可惜长期从事艰苦的研究损害了他的健康1662年英年早逝死时年仅39岁。他留给了世人一句至理名言“人好比是脆弱的芦苇但是他又是有思想的芦苇。”
全世界“有思想的芦苇”尤其是计算机领域的后来者都不会忘记帕斯卡在浑沌中点燃的亮光。1971年发明的一种程序设计语言——PASCAL语言就是为了纪念这位先驱使帕斯卡的英名长留在电脑时代里。
帕斯卡逝世后不久与法兰西毗邻的德国莱茵河畔有位英俊的年轻人正挑灯夜读。黎明时分青年人站起身揉了一下疲乏的腰部脸上流露出会心的微笑一个朦胧的设想已酝酿成熟。虽然在帕斯卡发明加法器的时候他尚未出世但这篇由帕斯卡亲自撰写的关于加法计算机的论文却使他似醍醐灌顶勾起强烈的发明欲。他就是德国大数学家、被《不列颠百科全书》称为“西方文明最伟大的人物之一”的莱布尼茨G.Leibnitz。
莱布尼茨早年历经坎坷。当幸运之神降临之时他获得了一次出使法国的机会。帕斯卡的故乡张开臂膀接纳他为他实现计算机器的夙愿创造了契机。在巴黎他聘请到一些著名机械专家和能工巧匠协助工作终于在1674年造出一台更完美的机械计算机。
莱布尼茨发明的新型计算机约有1米长内部安装了一系列齿轮机构除了体积较大之外基本原理继承于帕斯卡。不过莱布尼茨技高一筹他为计算机增添了一种名叫“步进轮”的装置。步进轮是一个有9个齿的长圆柱体9个齿依次分布于圆柱表面旁边另有个小齿轮可以沿着轴向移动以便逐次与步进轮啮合。每当小齿轮转动一圈步进轮可根据它与小齿轮啮合的齿数分别转动1/10、2/10圈……直到9/10圈这样一来它就能够连续重复地做加法。
稍熟悉电脑程序设计的人都知道连续重复计算加法就是现代计算机做乘除运算采用的办法。莱布尼茨的计算机加、减、乘、除四则运算一应俱全也给其后风靡一时的手摇计算机铺平了道路。
不久因独立发明微积分而与牛顿齐名的莱布尼茨又为计算机提出了“二进制”数的设计思路。有人说他的想法来自于东方中国。
大约在公元1700年左右某天友人送给他一幅从中国带来图画名称叫做“八卦”是宋朝人邵雍所摹绘的一张“易图”。莱布尼茨用放大镜仔细观察八卦的每一卦象发现它们都由阳—和阴--两种符号组合而成。他挠有兴趣地把8种卦象颠来倒去排列组合脑海中突然火花一闪——这不就是很有规律的二进制数字吗若认为阳—是“1”阴--是“0”八卦恰好组成了二进制000到111共8个基本序数。正是在中国人睿智的启迪下莱布尼茨最终悟出了二进制数之真谛。虽然莱布尼茨设计的计算机用的还是十进制但他率先系统提出了二进制数的运算法则直到今天二进制数仍然左右着现代电脑的高速运算。
帕斯卡的计算机经由莱布尼茨的改进之后人们又给它装上电动机以驱动机器工作成为名符其实的“电动计算机”并且一直使用到本世纪20年代才退出舞台。尽管帕斯卡与莱布尼茨的发明还不是现代意义上的计算机但它们毕竟昭示着人类计算机史里的第一抹曙光。
◆ ◆ ◆
“编织”的程序
要让机器听人类的话按人类的意愿去计算就要实现人与机器之间的对话或者说要把人类的思想传送给机器让机器按人的意志自动执行。
说来也怪实现人与机器对话的始作俑者却不是研制计算机的那些前辈而是与计算机发明毫不相干的两位法国纺织机械师。他们先后发明了一种指挥机器工作的“程序”把思想直接“注入”到了提花编织机的针尖上。
顾名思义提花编织机具有升降纱线的提花装置是一种能使绸布编织出图案花纹的织布机器。
应该是提花编织机最早出现在中国。在我国出土的战国时代墓葬物品中就有许多用彩色丝线编织的漂亮花布。据史书记载西汉年间钜鹿县纺织工匠陈宝光的妻子能熟练地掌握提花机操作技术她的机器配置了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年在巴贝奇的一生中是极不平常的一年。英国政府宣布断绝对他的一切资助连科学界的友人都用一种怪异的目光看着他。英国首相讥讽道“这部机器的唯一用途就是花掉大笔金钱”同行们讥笑他是“愚笨的巴贝奇”。皇家学院的权威人士包括著名天文学家艾瑞等人都公开宣称他的差分机“毫无任何价值”……
◆ ◆ ◆
携手共赴难
就在痛苦艰难的时刻孤独苦闷的巴贝奇意外地收到一封来信写信人不仅对他表示理解而且还希望与他共同工作。娟秀字体的签名表明了她不凡的身份——伯爵夫人。
接到信函后不久巴贝奇实验室门口走进来一位年轻的女士。她身披素雅的斗蓬鬓角上斜插一朵白色的康乃馨显得那么典雅端庄。巴贝奇一时愣在那里他与这位女士似曾相识又想不起曾在何处邂逅。女士落落大方地作了自我介绍正是那位写信人。
“您还记得我吗”女士低声问道“十多年前您还给我讲过差分机原理。”看到巴贝奇迷惑的眼神她又笑着补充说“您说我像野人见到了望远镜。”巴贝奇恍然大悟想起已经十分遥远的往事。面前这位女士和那个小女孩之间依稀还有几分相似。
原来伯爵夫人本名叫阿达·奥古斯塔AdaAugusta是英国著名诗人拜伦的独生女。她比巴贝奇的年龄小20多岁1815年出生。阿达自小命运多舛来到人世的第二年父亲拜伦因性格不合与她的母亲离异从此别离英国。可能是从未得到过父爱的缘由小阿达没有继承到父亲诗一般的浪漫热情却继承了母亲的数学才能和毅力。
还是在阿达的少女时代母亲的一位朋友领着她们去参观巴贝奇的差分机。其他女孩子围着差分机叽叽喳喳乱发议论摸不着头脑。只有阿达看得非常仔细她十分理解并且深知巴贝奇这项发明的重大意义。
或许是这个小女孩特殊的气质在巴贝奇的记忆里打下了较深的印记。他赶紧请阿达入座并欣然同意与这位小有名气的数学才女共同研制新的计算机器。
就这样在阿达27岁时她成为巴贝奇科学研究上的合作伙伴迷上这项常人不可理喻的“怪诞”研究。其时她已经成了家丈夫是洛甫雷斯伯爵。按照英国的习俗许多资料在介绍里都把她称为“洛甫雷斯伯爵夫人”。
30年的困难和挫折并没有使巴贝奇屈服阿达的友情援助更坚定了他的决心。还在大型差分机进军受挫的1834年巴贝奇就已经提出了一项新的更大胆的设计。他最后冲刺的目标不是仅仅能够制表的差分机而是一种通用的数学计算机。巴贝奇把这种新的设计叫做“分析机”它能够自动解算有100个变量的复杂算题每个数可达25位速度可达每秒钟运算一次。
今天我们再回首看看巴贝奇的设计分析机的思想仍然闪烁着天才的光芒。
由于巴贝奇晚年因喉疾几乎不能说话介绍分析机的文字主要由阿达替他完成。阿达在一篇文章里介绍说“这台机器不论在可能完成的计算范围、简便程度以及可靠性与精确度方面或者是计算时完全不用人参与这方面都超过了以前的机器。”巴贝奇把分析机设计得那样精巧他打算用蒸汽机为动力驱动大量的齿轮机构运转。巴贝奇的分析机大体上有三大部分其一是齿轮式的“存贮库”巴贝奇称它为“仓库”Store每个齿轮可贮存10个数齿轮组成的阵列总共能够储存1000个50位数。分析机的第二个部件是所谓“运算室”它被巴贝奇命名为“作坊”Mill其基本原理与帕斯卡的转轮相似用齿轮间的啮合、旋转、平移等方式进行数字运算。为了加快运算速度他改进了进位装置使得50位数加50位数的运算可完成于一次转轮之中。第三部分巴贝奇没有为它具体命名其功能是以杰卡德穿孔卡中的“0”和“1”来控制运算操作的顺序类似于电脑里的控制器。他甚至还考虑到如何使这台机器处理依条件转移的动作比如第一步运算结果若是“1”就接着做乘法若是“0”就进行除法运算。此外巴贝奇也构思了送入和取出数据的机构以及在“仓库”和“作坊”之间不断往返运输数据的部件。
阿达“心有灵犀一点通”她非常准确地评价道“分析机‘编织’的代数模式同杰卡德织布机编织的花叶完全一样”。于是为分析机编制一批函数计算程序的重担落到了数学才女的肩头。阿达开天辟地第一次为计算机编出了程序其中包括计算三角函数的程序、级数相乘程序、伯努利函数程序等等。阿达编制的这些程序即使到了今天电脑软件界的后辈仍然不敢轻易改动一条指令。人们公认她是世界上第一位软件工程师。
众所周知美国国防部据说是花了250亿美元和10年的光阴把它所需要软件的全部功能混合在一种计算机语言中希望它能成为军方数千种电脑的标准。1981年这种语言被正式命名为ADA阿达语言使阿达的英名流传至今。
不过以上讲的都是后话殊不知巴贝奇和阿达当年处在怎样痛苦的水深火热之中由于得不到任何资助巴贝奇为把分析机的图纸变成现实耗尽了自己全部财产弄得一贫如洗。他只好暂时放下手头的活和阿达商量设法赚一些钱如制作什么国际象棋玩具什么赛马游戏机等等。为筹措科研经费他们不得不“下海”搞“创收”。最后两人陷入了惶惶不可终日的窘境。阿达忍痛两次把丈夫家中祖传的珍宝送进当铺以维持日常开销而这些财宝又两次被她母亲出资赎了回来。
贫困交加无休止的脑力劳动使阿达的健康状况急剧恶化。1852年怀着对分析机成功的美好梦想软件才女英年早逝死时年仅36岁。阿达去世后巴贝奇又默默地独自坚持了近20年。晚年的他已经不能准确地发音甚至不能有条理地表达自己的意思但是他仍然百折不挠地坚持工作。1871年为计算机事业贡献毕生精力的先驱者巴贝奇终于满怀着对分析机无言的悲怅孤独地离开了人世。有人把他的大脑用盐渍着保存起来想经过若干年后有更先进技术来研究他大脑保存的精神。
分析机终于没能造出来巴贝奇和阿达失败了。巴贝奇和阿达的失败是因为他们看得太远分析机的设想超出了他们所处时代至少一个世纪社会发展的需求和科学技术发展的可能使得他们注定要成为的悲剧人物。尽管如此巴贝奇和阿达为电脑科学留下了一份极其珍贵的精神遗产包括30种不同设计方案近2000张组装图和50000张零件图……更包括那种在逆境中自强不息为追求理想奋不顾身的拼搏精神。
◆ ◆ ◆
穿孔制表机
将国外出版的多媒体百科全书光盘插入电脑然后键入“Punchedcard”穿孔卡作为关键词搜索。你会发现电脑屏幕将从“Jacquard”杰卡德条目开始连带着显示出早期计算机发展简史。紧靠着“杰卡德”词条的是另外一个姓名“H.Hollerrith”。
该词条解释说穿孔卡是早期计算机输入信息的设备通常可以储存80列数据。它是一种很薄的纸片面积为190×84毫米。首次使用穿孔卡技术的数据处理机器是美国统计专家霍列瑞斯博士H.Hollerith的伟大发明。
公元1880年美利坚合众国举行了一次全国性人口普查为当时5000余万的美国人口登记造册。当时美国经济正处于迅速发展的阶段人口流动十分频繁再加上普查的项目繁多统计手段落后从当年元月开始的这次普查花了7年半的时间才把数据处理完毕。也就是说直到快进行第二次人口普查时美国政府才能得知第一次人口普查期间全国人口的状况。
霍列瑞斯博士是德国侨民早年毕业于美国哥伦比亚大学矿业学院学的是采矿专业。大学毕业后来到人口调查局从事的第一项工作就是人口普查。他曾与同事们一起深入到许多家庭填表征集资料深知每个数据都来之不易他也曾终日埋在数据堆里用手摇计算机“摇”得满头大汗一天下来也统计不出几张表格的数据。
人口普查需要大量处理的是数据如年龄、性别等用调查表采集的项目并且还要统计出每个社区有多少儿童和老人有多少男性公民和女性公民等等。这些数据是否也可由机器自动进行统计采矿工程师霍列瑞斯想到了纺织工程师杰卡德80年前发明的穿孔纸带。杰卡德提花机用穿孔纸带上的小孔主要用来控制提花操作的步骤即编写程序霍列瑞斯则进一步设想要用它来储存和统计数据发明一种自动制表的机器。
人口调查局的业务异常繁忙一个行政机构也不可能提供时间和经费让公务员搞什么科学研究。两年后霍列瑞斯博士离开了人口局到专利事务所工作过一段时间也曾任教于麻省理工学院一边工作一边致力于自动制表机的研制。
霍列瑞斯首先把穿孔纸带改造成穿孔卡片以适应人口数据采集的需要。由于每个人的调查数据有若干不同的项目如性别、籍贯、年龄等等。霍列瑞斯把每个人所有的调查项目依次排列于一张卡片然后根据调查结果在相应项目的位置上打孔。例如穿孔卡片“性别”栏目下有“男”和“女”两个选项“年龄”栏目下有从“0岁”到“70岁以上”等系列选项如此等等。统计员可以根据每个调查对象的具体情况分别在穿孔卡片各栏目相应位置打出小孔。每张卡片都代表着一位公民的个人档案。
霍列瑞斯博士巧妙的设计在于自动统计。他在机器上安装了一组盛满水银的小杯穿好孔的卡片就放置在这些水银杯上。卡片上方有几排精心调好的探针探针连接在电路的一端水银杯则连接于电路的另一端。与杰卡德提花机穿孔纸带的原理类似只要某根探针撞到卡片上有孔的位置便会自动跌落下去与水银接触接通电流启动计数装置前进一个刻度。由此可见霍列瑞斯穿孔卡表达的也是二进制信息有孔处能接通电路计数代表该调查项目为“有”“1”无孔处不能接通电路计数表示该调查项目为“无”“0”。
直到1888年霍列瑞斯博士才实际完成自动制表机设计并申报了专利。他发明的这种机电式计数装置比传统纯机械装置更加灵敏因而被1890年后历次美国人口普查选用获得了巨大的成功。例如1900年进行的人口普查全部采用霍列瑞斯制表机平均每台机器可代替500人工作全国的数据统计仅用了1年多时间。虽然霍列瑞斯发明的并不是通用计算机除了能统计数据表格外它几乎没有别的什么用途然而制表机穿孔卡第一次把数据转变成二进制信息。在以后的计算机系统里用穿孔卡片输入数据的方法一直沿用到20世纪70年代数据处理也发展成为电脑的主要功能之一。
依托自己发明的制表机霍列瑞斯博士“下海”创办了一家专业制表机公司但不久就因资金周转不灵陷入困境被另一家CTR公司兼并。1924年CTR公司更名为“国际商业机器公司”英文缩写“IBM”专门生产打孔机、制表机一类产品。
杰卡德和霍列瑞斯分别用开创了程序设计和数据处理之先河。以历史的目光审视他们的发明正是这种程序设计和数据处理构成了电脑“软件”的雏形。
◆ ◆ ◆
继往与开来
巴贝奇巨星陨落后世人已逐渐将他淡忘20世纪已经来临。计算机的历史等待着等待着巴贝奇式的人物再世等待着人类划时代的壮举。
大约在1936年美国青年霍德华·艾肯H.Aiken来哈佛大学攻读物理学博士学位。恰好在世纪之交来到人世的艾肯属于大器晚成的科学家。由于家庭贫困他不得不以半工半读的方式艰难地读完高中。大学期间也是一边工作一边刻苦学习直到毕业后才谋到一份工程师的工作。36岁那年他毅然辞去收入丰厚的职务重新走进大学校门。由于博士论文的研究涉及到空间电荷的传导理论需要求解非常复杂的非线性微分方程在进行繁琐的手工计算之余艾肯很想发明一种机器代替人工求解的方法幻想能有一台计算机帮助他解决数学难题。
三年之后正如莱布尼茨在书里“找到”帕斯卡一样艾肯也是在图书馆里“发现”的巴贝奇和阿达。巴贝奇和阿达的论文令年轻人心摇旌动。70多年过去后巴贝奇仿佛还在对他娓娓而谈“任何人如果不接受我失败的教训还仍然下决心去研制一台把数学分析的全部工作都包括在内的机器的话我不怕把自己的名誉交给他去作出应有的评价因为只有他才完全了解我工作的性质及其成果的价值”。以艾肯所处时代的科技水平也许已经能够完成巴贝奇未竞的事业造出通用计算机。为此他写了一篇《自动计算机的设想》的建议书提出要用机电方式而不是用纯机械方法来构造新的“分析机”。然而正在求学的读书人根本没有可能筹措到那么大的一笔经费。
取得博士学位的艾肯进入了美国海军军械局。一名小小的中尉他仍然没有钱。“金钱不是万能的”但是对于艾肯实现计算机梦想来说“没有钱却是万万不能的”否则只会重蹈巴贝奇和阿达的复辙。
年轻的海军中尉想到了制表机行业的IBM公司。
艾肯从他一位老师口中得知IBM董事长沃森的大名他的老师此时正在一所由IBM出资创办的“哥伦比亚大学统计局”里任职非常乐意为学生写了份推荐信。艾肯连续通宵达旦地准备材料拟好了一份详细的可行性报告直接跑去找沃森。他听老师讲沃森的作风从来就是独断专行不设法说服此人研制计算机的计划一准泡汤。
IBM的总部座落在一幢古色古香的建设物里。沃森坐在宽大的写字台后一言不发听艾肯陈述。在他的背后是整整齐齐摆满各种书籍的大书柜书柜的上方贴着只有一个单词的格言——思考THINK这是沃森最为推崇的行动准则。
艾肯说完了该说的话忐忑不安地望着对面这位爱好“思考”的企业家。
“至少需要多少钱”沃森开口询问。
“恐怕要投入数以万计吧”艾肯喃喃地回答“不过……”
沃森摆了摆手打断了艾肯的话头拿起笔来在报告上划了几下。
艾肯心里一紧“没戏了”出于礼貌他还是恭敬地用双手接过那张纸随即低头一瞅顿时喜上眉稍——沃森的大笔一挥批给了计算机100万美元
有了IBM作坚强后盾新的计算机研制工作在哈佛物理楼后的一座红砖房里开了场艾肯把它取名为“马克1号”MarkⅠ又叫做“自动序列受控计算机”。IBM又派来莱克、德菲和汉密尔顿等工程师组成攻关小组财源充足兵强马壮。比起巴贝奇和阿达艾肯的境况实在要幸运得多。IBM也因此从生产制表机、肉铺磅秤、咖啡碾磨机等乱七八糟玩意的行业里正式跨进了计算机的“领地”。
艾肯设计的马克1号已经是一种电动的机器它借助电流进行运算最关键的部件用的是普通电话上的继电器。马克1号上大约安装了3000个继电器每一个都有由弹簧支撑着的小铁棒通过电磁铁的吸引上下运动。吸合则接通电路代表“1”释放则断开电路代表“0”。继电器“开关”能在大约1/100秒的时间内接通或是断开电流当然比巴贝奇的齿轮先进得多。
为马克1号编制计算程序的也是一位女数学家格雷斯·霍波G.Hopper。这位声名遐迩的数学博士1944年参加到哈佛大学计算机研究工作她说“我成了世界上第一台大型计算机MarkⅠ的第三名程序员。”霍波博士后来还为第一台储存程序的商业电子计算机UNIVAC写过程序又率先研制成功第一个编译程序A-O和计算机商用语言COBOL被公认是计算机语言领域的带头人。有一天她在调试程序时出现了故障拆开继电器后发现有只飞蛾被夹扁在触点中间从而“卡”住了机器的运行。于是霍波恢谐地把程序故障统称为“臭虫”bug而这一奇怪的“称呼”后来成为计算机领域的专业行话如DOS系统中的调试程序程序名称就叫DEBUG。
1944年2月马克1号计算机在哈佛大学正式运行。从外表看它的外壳用钢和玻璃制成长约15米高约2.4米自重达到31.5吨是个像恐龙般巨大身材的庞然大物。据说艾肯和他的同事们为它装备了15万个元件和长达800公里的电线。这台机器能以令当时人们吃惊的速度工作——每分钟进行200次以上的运算。它可以作23位数加23位数的加法一次仅需要0.3秒而进行同样位数的乘法则需要6秒多的时间。只是它运行起来响声不绝于耳有的参观者说“就象是挤满了一屋子编织绒线活的妇女”也许你会联想到马克1号计算机也与杰卡德编织机有天然的联系。
马克1号代表着自帕斯卡以来人类所制造的机械计算机或电动计算机之顶尖水平当时就被用来计算原子核裂变过程。它以后运行了15年编出的数学用表我们至今还在使用。1946年艾肯和霍波联袂发表文章说这台机器能自动实现人们预先选定的系列运算甚至可以求解微分方程。
马克1号终于实现了巴贝奇的夙愿。事隔多年后已经担任大学教授的艾肯谈起巴贝奇其人其事来仍然惊叹不已他曾感慨地说如果巴贝奇晚生75年我就会失业。但是马克1号是早期计算机的最后代表从它投入运行的那一刻开始就已经过时因为此时此刻人类社会已经跨进了电子的时代。
◆ ◆ ◆
真空驯电子
1883年一个晚上为人类社会贡献了二千多项发明的美国发明家爱迪生T.Edison正在实验室紧张地忙碌着。他面前放着各种灯泡除了灯丝的材料不同外这些灯泡都被抽成了真空。爱迪生拾起一只烧坏的碳丝灯泡发现碳丝似乎比原先细了许多而在灯泡上部隐约沾着一些碳灰看来是由于温度高使碳丝蒸发成碳灰。
怎么才能阻止碳丝蒸发呢爱迪生找来一小截铜丝把它靠在碳丝附近然后一起封装到一只新玻璃壳里抽去空气然后把它接在电路上。实验结果使爱迪生大失所望碳丝发光后依然变细。爱迪生叹了口气无意间用电流表探头触了触铜丝外露的端头。
奇怪的事发生了电流表的指针竟摆动了一个角度。爱迪生简直不敢相信这铜丝并没有接触通电发光的碳丝哪来的电流呢连续实验了几次情况都没有变化爱迪生把它记录在案作为一项发明申请了专利称为“爱迪生效应”这也是他一生中唯一的“纯科学”发现。爱迪生当时没有找到实际用途也没能更深入地探讨和追寻让一次更伟大的发明机会擦肩而过。
“爱迪生效应”没有引起爱迪生本人重视却惊动了大洋彼岸的一位英国青年工程师弗莱明J.Fleming。弗莱明漂洋过海专程向爱迪生陈述他对单向电子流效应的真知灼见不料想会受到大发明家的冷落。
1895年为了解决无线电讯号的检波问题弗莱明在实验室重新摆弄起爱迪生的“电灯泡”来。他故意把碳丝做得细一些而把铜丝加粗加宽变成一块薄铜板并把铜板弯曲成圆筒状把碳丝整个儿包起来。当他把“灯泡”连接在交流电回路后弗莱明兴奋地看到自己的预想变成了现实交流电讯号被整流为单向流动的直流电。于是弗莱明以“热离子阀”为名在英国申请了专利。弗莱明的发明正是世界上第一只电子管也就是人们后来所说的“真空二极管”。弗莱明把他发明的东西叫做“热离子阀”“阀”就是开关电子管确实是计算机理想的开关元件然而弗莱明的真空二极管尚未达到电脑高速开关的要求。20世纪初在弗莱明开创的事业的基础上一位美国青年发明家德·福雷斯特L.DeForest在真空中再次驯服了电子。
德·福雷斯特那年也不到30岁。孩提时期并不出众被老师认为是个平庸的孩子唯一的爱好是拆装各种机械小玩艺志向不高只想做个机械技师或者当一名机械工。一次偶然的机会邂逅了无线电发明家马可尼激发了他创新无线电检波装置的发明之梦。大学毕业后的短短5年他连续取得了34项发明专利。
1906年为了提高真空二极管检波灵敏度德·福雷斯特在弗莱明的玻璃管内添加了一种栅栏式的金属网形成电子管的第三个极。他惊讶地看到这个“栅极”仿佛就像百叶窗能控制阴极与屏极之间的电子流只要栅极有微弱电流通过就可在屏极上获得较大的电流而且波形与栅极电流完全一致。也就是说德·福雷斯特发明的是一种能够起放大作用的真空三极管器件。
然而因发明这种新型电子管德·福雷斯特竟无辜受到美国纽约联邦法院的传讯原因是有人控告他企图为公司推销积压产品进行商业诈骗。愚昧无知的法官下达判决宣布德·福雷斯特发明的电子管是一个“毫无价值的玻璃管”。
1912年伴随着随时可能被捕入狱的阴云德·福雷斯特和两名助手来到美国西部加利福尼亚在帕洛阿托小镇坚持不懈地改进他的三极管。在爱默生大街913号一座小木屋里他们发现了比他们原来期望更多的东西。在用铜线重新缠绕三极管的栅极过程中德·福雷斯特突然想到可以用这种玻璃管制作更强大的放大器。他们把若干个三极管连接起来并与电话机的话筒、耳机相互连接再将德·福雷斯特那只“走时相当准确的英格索尔手表”放在话筒前方结果被放大的手表“滴哒”声几乎要把德·福雷斯特的耳朵震聋。
在帕洛阿托市的德·福雷斯特故居至今依然矗立着一块小小的纪念牌以市政府名义书写着一行文字“德·福雷斯特在此发现了电子管的放大作用。”用来纪念德·福雷斯特的伟大发明为新兴电子工业所奠定的基础。德·福雷斯特发明电子管几十年后这里竟变成世界电脑产业腾飞的硅谷。
电子管主要在无线电装置里充当检波、整流、放大和振荡元件它的诞生为通讯、广播、电视等相关技术的生长、发展铺平了道路。可是人们不久后就发现按照不同的电路形式真空三极管除了可以处于“放大”状态外还可分别处于“饱和”与“截止”状态。“饱和”即从阴极到屏极的电流完全导通相当于开关开启“截止”即从阴极到屏极没有电流流过相当于开关关闭两种状态可以由栅极进行控制其控制速度要比艾肯的继电器快10000倍。
发明家们在世纪之交的年代驯服了电子采用电子器件制作计算机已经水到渠成呼之欲出。
◆ ◆ ◆
电脑创世纪
全世界在隆隆的炮火声中迎来了1943年。硝烟密布战鼓催春战争的迫切需要像一只有力的巨手为电脑的诞生扫清障碍铺平道路。
4月9日美国马里兰州阿贝丁陆军军械部召集的一次会议正处于举手表决的时刻。陆军上校西蒙L.Simon端坐在主席的位置关键会议关键时刻他却装聋作哑闭口不言。他的身旁是普林斯顿高级研究院的韦伯伦O.Veblen教授。教授此时仍在耐心地翻阅提交给会议的那份报告。
应该说西蒙上校对这份报告最有发言权因为他领导的阿贝丁试炮场担负着美国陆军新式火炮的试验任务。早些时军械部曾派出青年军官戈德斯坦H.Glodstine中尉从宾夕法尼亚大学莫尔电气工程学院召集来一批研究队伍帮助计算新式火炮的弹道表这次会议就是应戈德斯坦等人要求决定一件非同小可的事。
人们都知道刚试制出来的大炮是否能够通过验收必须对它发射多枚炮弹的轨迹作认真检查分析弹着点误差的原因。一发炮弹从发射升空到落地爆炸只需一分来钟而计算这发炮弹的轨迹却要做750次乘法和更多的加减法。一张完整的弹道表需要计算近4千条弹道试炮场每天要提供给戈德斯坦6张这样的表可想而知任务量有多大。
戈德斯坦本人就是一位数学家曾在密歇根大学任数学助理教授。他从陆军中抽调来百余位姑娘作辅助性的人工计算。可以设想一下一发炮弹打过去100多人用手摇计算机忙乱地算个不停还经常出错既吃力又不讨好那场景不免令人啼笑皆非。在戈德斯坦领导的队伍中有来自莫尔学院的两位年轻学者。一位是他多年的好友莫尔学院副教授莫契利J.Mauchiy36岁的物理学家。另一位名叫埃克特P.Eckert24岁的电气工程师不久前刚从莫尔学院毕业。莫契利擅长总体构思他天生一个系统思维的脑子。他的设想又总能够被心灵手巧的埃克特领会并加以具体化。两个人志趣相投几番碰撞一拍即合交给了戈德斯坦一份研制电子计算机的设计方案——“高速电子管计算装置的使用”明确提出要使用弗莱明、德福雷斯特发明的电子管造一台前所未有的计算机器把弹道计算的效率提高成百上千倍。
不知什么原因这份珍贵的方案竟莫名其妙地遗失。莫契利只好根据秘书的记录重新起草报告然后交给埃克特写一个附录。在附录里埃克特创造性地阐明如何把莫契利的设计具体化。戈德斯坦深知这份报告的份量也深感计算机器诱人的前景他决心要利用军方代表和数学家的双重的身份向军械部争取到项目的资助。
此时韦伯伦教授手中拿着的正是莫契利和埃克特共同起草的报告。由于所需的巨额
经费加上研制的风险就连韦伯伦也感到那几页纸似乎是沉甸甸的。
戈德斯坦中尉站在会议桌的另一端面对着西蒙上校还在作继续的申诉“我听说海军已经把希望寄托在马克1号计算机上。我们设想的机器是一种更新式的电子计算机它将比哈佛的那台机器高出几个数量级……”。
西蒙转过脸用眼睛示意戈德斯坦留意韦伯伦教授的态度因为他知道作为军械部的科学顾问以“拓扑学”创立者闻名世界的数学权威才是一言九鼎的人物。于是全场到会者的目光都盯在教授身上。
韦伯伦终于放下手中的报告闭上眼睛仰靠在椅背上沉思起来。整个会场也跟着沉默了。突然教授猛然站起身“砰”地一声推开身后的椅子对着上校大声说道
“西蒙给戈德斯坦这笔经费”
说完这句话他立即转身向大门走去头也不回地离开了会议室。世界上第一台电子计算机的研制就这样戏剧性地拉开了帏幕。军方与莫尔学院最初签订的协议是提供14万美元的研制经费但后来合同被修订了12次经费一直追加到了48万大约相当于现在的1000多万美元。
莫尔学院组建的研制小组是一个朝气蓬勃的跨学科攻关小组在科技史上留下了敢冒风险、敢于取胜的美名。小组成员包括物理学家、数学家和工程师30余名还组织了近200名辅助人员参与攻关。项目总负责人勃雷纳德J.Brainerd是莫尔学院有声望的教授他曾经讲“这是一项不能确保一定会达到预期效果的开发方案然而现在正是一个合适的时机。”他顶住了来自各方面的压力满腔热情地支持年轻人的创造精神。戈德斯坦则在科研组织方面表现出杰出的才干他不仅为项目提供数学方面的帮助还以军方联络员的身份负责协调项目的进展。在计算机研制中发挥最主要作用的当属莫契利和埃克特以及一位名叫勃克斯A.Burks的工程师。其中莫契利是计算机的总设计师主持机器的总体设计埃克特是总工程师负责解决复杂而困难的工程技术问题勃克斯则作为逻辑学家为计算机设计乘法器等大型逻辑元件。
然而为支援战争赶制的机器紧赶慢赶也没能赶上最后一班车。德国法西斯很快就被击溃。1946年2月14日世界上第一台电子计算机才珊珊来迟在一片欢呼声中正式启动运行。
2月14日姑娘小伙们钟爱的“情人节”。莫尔小组的绝大多数成员风华正茂情窦初开选择这一天作为公开揭幕典礼的日期或许是寓意深长的——电子计算机不正是他们的“大众情人”吗“大众情人”的名字叫作“埃历阿克”ENIAC译成中文是“电子数字积分和计算机”局外人听起来十分别扭但在莫契利和埃克特耳里“她”却像“维纳斯”和“夏娃”一样的撩拨人心。
那天天刚蒙蒙亮他俩不约而同地来到埃历阿克身边再一次满怀深情地打量着“如花似玉”的“情人”。在它的身体内总共安装了17468只电子管7200个二极管70000多电阻器10000多只电容器和6000只继电器电路的焊接点多达50万之巨。在机器表面则布满电表、电线和指示灯简直就像姑娘身上挂满的各式翡翠珍珠宝石项链。这“情人”的体积实在也太大了庞大的身躯挤进一排2.75米高的金属柜里占地面积为170平方米左右约为整整十间房那样的空间大小总重量达到30吨堪称为空前绝后的“巨型机”。
尽管如此庆典大会上埃历阿克不凡的表演确令来宾们大开眼界同一时代的任何机械或电动计算机在它面前都相形见绌。人们看到它输入数据和输出结果都采用穿孔卡片每分钟可以输入125张卡片输出100张卡片。它能在1秒钟内完成5000次加法也可以在3/1000秒时间内做完两个10位数乘法其运算速度超出马克1号至少在1000倍以上。一条炮弹的轨迹20秒钟就能被它算完比炮弹本身的飞行速度还要快。埃历阿克一天完成的计算工作量大约相当于一个人用手摇计算机操作40年。
埃历阿克标志着电子计算机的创世人类社会从此大步迈进了电脑时代的门槛。