从1980年8月到1981年8月,在整整一年的时间里,埃斯特奇领导着“国际象棋”工程计划13人小组奋力攻关。“当时很少有人体会到,这一小组人即将改写全世界的历史。”(英特尔华裔副总裁虞有澄语)据说,IBM后来公司围绕PC英特尔公司还组成了特殊客户部,对机器开发的投入逐渐达到450人。PC机器提供高质量的芯片。 根据协定,微软公司应该是PC机提供包括BASIC包括一系列计算机语言软件。然而,未来PC电脑,操作系统是最需要的软件,所以比尔·盖茨把IBM介绍给另一个开发的代表CP/M以操作系统软件而闻名DR数字研究公司。 接下来发生的事情又出现了戏剧性情节,CP/M操作系统软件的设计师基多尔恰好不在家,他的妻子不想在保密协议上签字,千载难逢的机会和DR公司错过了。 IBM代表只能掉头,还是请微软帮忙解决操作系统问题。·盖茨想起了西雅图电脑公司的软件天才帕特森(T.Paterson),这个人已经为英特尔的16个芯片编写了一个QDOS正好可以充当软件PC机器的操作系统。QDOS即“快而粗糙的操作系统”,微软以低价购买了该软件的版权,但当时帕特森说:DOC父亲不知道内情。 1980年感恩节刚过,国际象棋工程组IBM公司的最高机密──两台PC从迈阿密到西雅图的电脑样机。在高度保密的情况下,比尔·盖茨率领微软的软件组开始PC计算机编写程序。除了他们的任务,他们还需要赶写BASIC、COBOL、FORTRAN和PASCAL四种计算机语言的4万个程序代码,还要把QDOS改造成适合PC机使用的MS-DOS操作系统。从此,微软和IBM公司两组的技术人员不断飞往美国最远的两个城市,交换信息。微软的工程师还必须把自己关在密闭的房间里,日夜加班。·盖茨招募了大量的编程大师参与PC机械软件工程人员增加到70人。直到1981年6月,帕特森也加入了微软,并立即加入MS-DOS在开发过程中,经过反复修改和调试,这款影响深远的著名软件终于完成了。 一年的时间转瞬而至。1981年8月12日,IBM该公司在纽约宣布:IBM PC机器的诞生表明人类社会已经进入了个人电脑的新时代。应该说,这是由英特尔提供的微处理器芯片和微软编写的软件IBM公司主要设计电脑系统的共同作品。 IBM PC机器最重要的特点是它的开放性。埃斯特奇代表设计部门宣布,他们将披露所有技术文件,并真诚欢迎同行加入个人计算机的开发行列。因此,世界各地的电子计算机制造商都在蓬勃发展,争相转产仿造PC机,仿制产品是IBM PC兼容机。IBM PC机器成为个人电脑的实际标准。 为了推广这种供个人使用的电脑,IBM在卓别林式流浪汉形象的帮助下,公司巧妙地戴着园顶高帽子和灯笼裤,在电视上频频露脸,手里跳着个人电脑,说每个人都可以用。《华尔街日报》评论说:IBM蓝巨人大踏步进入微型计算机市场,有望在两年内赢得这一新兴市场的领导权。果然,就在1982年,IBM PC机器售出25万台,以每月2万台的速度迅速接近苹果。1983年5月8日,IBM公司推出改进型IBM PC/XT当年个人电脑增加了硬盘装置,市场份额超过76%。1984年8月14日,IBM公司趁胜,又将先进技术的IBM PC/AT机器投向用户的怀抱。AT该机采用英特尔后来开发的80286微处理器芯片,可管理多达16台M内存可以同时执行多个任务。从那时起,个人电脑开始了所谓的286、386和486……接力赛。 1982年,美国着名的《时代》周刊在介绍本年度“新闻人物”时曾满怀激情地写到:“在一年的新闻里,这个最吸引人的话题,它代表着一种进程,一种持续发展并被广泛接受和欢迎的进程。这就是为什么《时代》在风云激荡的当今世界中选择了这么一位新闻人物,但这完全不是一个人物,而是一台机器。” 这个史无前例的“新闻人物”,就是个人电脑IBM PC机。
众所周知,计算机的学名是电子计算机。以人类发明这种机器的初衷,它的祖先应该是计算工具。Calculus(计算)这个词来自拉丁语,包括算法和肾脏或胆囊中的结石。古人用石头计算猎物,石头是他们的计算工具。著名科普作家阿西莫夫说,人类最早的计算工具是手指,英语单词Dight它不仅表示手指,还表示整数;中国古常用结绳来帮助记忆,结绳当然也可以作为计算工具。石头、手指、绳子……,这些都是古人用过的计算机。
不知道什么时候,很多国家的人都想到用筹码来改进工具,其中中最有名的是中国的计算。商周时期出现的计算实际上是一种竹、木或骨棍。古人在地上或盘子里反复摆弄这些小棍子,通过移动计算。从那以后,运筹这个词出现了。运筹就是计算,然后筹这个词就诞生了。中国古代科学家祖冲之在计算了小周率后首次获得第一名6位,使用的工具是计算,即使用笔算也不容易得到这个结果。
欧洲人发明的算筹与中国不同,他们的算筹是基于格子乘法的原则。例如,计算1248×456,可以先画矩形,然后分成3×2一个小格子,依次在小格子边写下乘数和乘数,然后用对角线将小格子一分为二,记录上述相应乘积的十位数和个位数。把这些乘积从右到左,沿斜线加,最后得到乘积。16172000年,英国数学家纳皮尔将格子乘法表中可能出现的结果印在一些狭长的计算表上,并使用计算表进行乘法、除法或其他操作。纳皮尔计算长期以来一直是欧洲人的主要计算工具。
在使用计算机时,一旦遇到复杂的操作,往往会变得复杂和混乱,让人感到不便,所以中国人发明了一种新的计算机。
著名作家谢尔顿在他的小说《如果明天来了》中讲述了一个故事:骗子杰夫向经销商出售了一台口袋电脑,说它价格低没有故障,节能,十年内不需要任何维护。当商人打开包装盒时,这台电脑最初是一个来自中国的算盘。世界文明的四大发展
源地──黄河流域、印度河流域、尼罗河流域和幼发拉底河流域──有不同形式的算盘,只有中国的珠算盘一直在使用。
珠算盘最早可能萌芽于汉代,定型于南北朝。它利用进位制记数,通过拨动算珠进行运算:上珠每珠当五,下珠每珠当一,每一档可当作一个数位。打算盘必须记住一套口诀,口诀相当于算盘的“软件”。算盘本身还可以存储数字,使用起来的确很方便,它帮助中国古代数学家取得了不少重大的科技成果,在人类计算工具史上具有重要的地位。
15世纪以后,随着天文、航海的发展,计算工作日趋繁重,迫切需要探求新的计算方法并改进计算工具。1630年,英国数学家奥特雷德使用当时流行的对数刻度尺做乘法运算,突然萌生了一个念头:若采用两根相互滑动的对数刻度尺,不就省得用两脚规度量长度吗?他的这个设想导致了“机械化”计算尺的诞生。
奥特雷德是理论数学家,对这个小小的计算尺并不在意,也没有打算让它流传于世,此后二百年,他的发明未被实际运用。18世纪末,以发明蒸汽机闻名于世的瓦特,成功地制出了第一把名副其实的计算尺。瓦特原来就是一位仪表匠,他的蒸汽机工厂投产后,需要迅速计算蒸汽机的功率和气缸体积。瓦特设计的计算尺,在尺座上多了一个滑标,用来“存储”计算的中间结果,这种滑标很长时间一直被后人所沿用。
1850年以后,对数计算尺迅速发展,成了工程师们必不可少的随身携带的“计算机”,直到20世纪五、六十年代,它仍然是代表工科大学生身份的一种标志。
凝聚着许许多多科学家和能工巧匠智慧的早期计算工具,在不同的历史阶段发挥过巨大作用,但也将随着科学发展而逐渐消亡,最终完成它们的历史使命。
2、第一抹曙光
第一台真正的计算机是著名科学家帕斯卡(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年代才退出舞台。尽管帕斯卡与莱布尼茨的发明还不是现代意义上的计算机,但它们毕竟昭示着人类计算机史里的第一抹曙光。
3、“编织”的程序
要让机器听人类的话,按人类的意愿去计算,就要实现人与机器之间的对话,或者说,要把人类的思想传送给机器,让机器按人的意志自动执行。
说来也怪,实现人与机器对话的始作俑者却不是研制计算机的那些前辈,而是与计算机发明毫不相干的两位法国纺织机械师。他们先后发明了一种指挥机器工作的“程序”,把思想直接“注入”到了提花编织机的针尖上。
顾名思义,提花编织机具有升降纱线的提花装置,是一种能使绸布编织出图案花纹的织布机器。
应该是,提花编织机最早出现在中国。在我国出土的战国时代墓葬物品中,就有许多用彩色丝线编织的漂亮花布。据史书记载,西汉年间,钜鹿县纺织工匠陈宝光的妻子,能熟练地掌握提花机操作技术,她的机器配置了120根经线,平均60天即可织成一匹花布,每匹价值万钱。明朝刻印的《天工开物》一书中,还赫然地印着一幅提花机的示意图。可以想象,当欧洲的王公贵族对从“丝绸之路”传入的美丽绸缎赞叹不已时,中国的提花机也必定会沿着“丝绸之路”传入欧洲。
不过,用当时的编织机编织图案相当费事。所有的绸布都是用经线(纵向线)和纬线(横向线)编织而成。若要织出花样,织工们必须细心地按照预先设计的图案,在适当位置“提”起一部分经线,以便让滑梭牵引着不同颜色的纬线通过。机器当然不可能自己“想”到该在何处提线,只能靠人手“提”起一根又一根经线,不厌其烦地重复这种操作。
1725年,法国纺织机械师布乔(B.Bouchon)突发奇想,想出了一个“穿孔纸带”的绝妙主意。布乔首先设法用一排编织针控制所有的经线运动,然后取来一卷纸带,根据图案打出一排排小孔,并把它压在编织针上。启动机器后,正对着小孔的编织针能穿过去钩起经线,其他的针则被纸带挡住不动。这样一来,编织针就自动按照预先设计的图案去挑选经线,布乔的“思想”于是“传递”给了编织机,而编织图案的“程序”也就“储存”在穿孔纸带的小孔之中。
真正成功的改进是在80年后,另一位法国机械师杰卡德(J.Jacquard),大约在1805年完成了“自动提花编织机”的设计制作。
那是举世瞩目的法国大革命的年代──攻打巴士底狱,推翻封建王朝,武装保卫巴黎,市民们高唱着“马赛曲”,纷纷走上街头,革命风暴如火如荼。虽然杰卡德在1790年就基本形成了他的提花机设计构想,但为了参加革命,他无暇顾及发明创造,也扛起来福枪,投身到里昂保卫战的行列里。直到19世纪到来之后,杰卡德的机器才得以组装完成。
杰卡德为他的提花机增加了一种装置,能够同时操纵1200个编织针,控制图案的穿孔纸带后来也换成了穿孔卡片。据说,杰卡德编织机面世后仅25年,考文垂附近的乡村里就有了600台,在老式蒸气机噗嗤噗嗤的伴奏下,把穿孔卡片上的图案变成一匹匹漂亮的花绸布。纺织工人最初强烈反对这架自动化的新鲜玩意的到来,因为害怕机器会抢去他们的饭碗,使他们失去工作,但因为它优越的性能,终于被人们普遍接受。1812年,仅在法国已经装配了万余台,并通过英国传遍了西方世界,杰卡德也因此而被受予了荣誉军团十字勋章和金质奖章。
杰卡德提花编织机奏响了19世纪机器自动化的序曲。在伦敦出版的《不列颠百科全书》和中国出版的《英汉科技词汇大全》两部书中,“JACQUARD”(杰卡德)一词的词条下,英语和汉语的意思居然都是“提花机”,可见,杰卡德的名字已经与提花机融为了一体。杰卡德提花机的原理,即使到了电脑时代的今天,依然没有更大的改动,街头巷尾小作坊里使用的手工绒线编织机,其基本结构仍与杰卡德编织机大体相似。
此外,杰卡德编织机“千疮百孔”的穿孔卡片,不仅让机器编织出绚丽多彩的图案,而且意味着程序控制思想的萌芽,穿孔纸带和穿孔卡片也广泛用于早期电脑以存储程序和数据。或许,我们现在把“程序设计”俗称为“编程序”,就引申自编织机的“编织花布”的词义。
4、失败的英雄
今天出版的许多计算机书籍扉页里,都登载着巴贝奇(C.Babbage)的照片:宽阔的额,狭长的嘴,锐利的目光显得有些愤世嫉俗,坚定的但绝非缺乏幽默的外貌,给人以一个极富深邃思想的学者形象。
巴贝奇是一位富有的银行家的儿子,1792年出生在英格兰西南部的托特纳斯,后来继承了相当丰厚的遗产,但他把金钱都用于了科学研究。童年时代的巴贝奇显示出极高的数学天赋,考入剑桥大学后,他发现自己掌握的代数知识甚至超过了教师 。毕业留校,24岁的年青人荣幸受聘担任剑桥大学“路卡辛讲座”的数学教授。这是一个很少有人能够获得的殊荣,牛顿的老师巴罗是第一名,牛顿是第二名。在教学之余,巴贝奇完成了大量发明创造,如运用运筹学理论率先提出“一便士邮资”制度,发明了供火车使用的速度计和排障器等等。
假若巴贝奇继续在数学理论和科技发明领域耕耘,他本来是可以走上鲜花铺就的坦途。然而,这位旷世奇才却选择了一条无人敢于攀登的崎岖险路。
事情还得从法国讲起。18世纪末,法兰西发起了一项宏大的计算工程──人工编制《数学用表》,这在没有先进计算工具的当时,是件极其艰巨的工作。法国数学界调集大批数学家,组成了人工手算的流水线,算得天昏地暗,才完成了17卷大部头书稿。即便如此,计算出的数学用表仍然存在大量错误。
据说有一天,巴贝奇与著名的天文学家赫舍尔凑在一起,对两大部头的天文数表评头
论足,翻一页就是一个错,翻两页就有好几处。面对错误百出的数学表,巴贝奇目瞪口呆,他甚至喊出声来:“天哪,这些计算错误已经充斥弥漫了整个宇宙!”
这件事也许就是巴贝奇萌生研制计算机构想的起因。巴贝奇在他的自传《一个哲学家的生命历程》里,写到了大约发生在1812年的一件事:“有一天晚上,我坐在剑桥大学的分析学会办公室里,神志恍惚地低头看着面前打开的一张对数表。一位会员走进屋来,瞧见我的样子,忙喊道:‘喂!你梦见什么啦?’我指着对数表回答说:‘我正在考虑这些表也许能用机器来计算!’”
巴贝奇的第一个目标是制作一台“差分机”。所谓“差分”的含义,是把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算。那一年,刚满20岁的巴贝奇从法国人杰卡德发明的提花编织机上获得了灵感,差分机设计闪烁出了程序控制的灵光──它能够按照设计者的旨意,自动处理不同函数的计算过程。
巴贝奇耗费了整整十年光阴,于1822年完成了第一台差分机,它可以处理3个不同的5位数,计算精度达到6位小数,当即就演算出好几种函数表。由于当时工业技术水平极低,第一台差分机从设计绘图到机械零件加工,都是巴贝奇亲自动手完成。当他看着自己的机器制作出准确无误的《数学用表》,高兴地对人讲:“哪怕我的机器出了故障,比如齿轮被卡住不能动,那也毫无关系。你看,每个轮子上都有数字标记,它不会欺骗任何人。”以后实际运用证明,这种机器非常适合于编制航海和天文方面的数学用表。
成功的喜悦激励着巴贝奇,他连夜奋笔上书皇家学会,要求政府资助他建造第二台运算精度为20位的大型差分机。英国政府看到巴贝奇的研究有利可图,破天荒地与科学家签订了第一个合同,财政部慷慨地为这台大型差分机提供出1.7万英镑的资助。巴贝奇自己也贴进去1.3万英镑巨款,用以弥补研制经费的不足。在当年,这笔款项的数额无异于天文数字──有资料介绍说,1831年约翰·布尔制�