計(jì)算機(jī)發(fā)展史
無(wú)處不在、無(wú)所不能的電腦,已歷經(jīng)了50多個(gè)春華秋實(shí)。50余年在人類的歷史長(zhǎng)河中只是一瞬間,電腦卻徹底改變了我們的生活?;仡欕娔X發(fā)展的歷史,并依此上溯它的起源,真令人驚嘆滄海桑田的巨變;歷數(shù)電腦史上的英雄人物和跌宕起伏的發(fā)明故事,將給后人留下了長(zhǎng)久的思索和啟迪。請(qǐng)讀者隨著我們的史話倒轉(zhuǎn)時(shí)空,從電腦最初的源頭說起。
誰(shuí)都知道,電腦的學(xué)名叫做電子計(jì)算機(jī)。以人類發(fā)明這種機(jī)器的初衷,它的始祖應(yīng)該是計(jì)算工具。英語(yǔ)里“Calculus”(計(jì)算)一詞來(lái)源于拉丁語(yǔ),既有“算法”的含義,也有腎臟或膽囊里的“結(jié)石”的意思。遠(yuǎn)古的人們用石頭來(lái)計(jì)算捕獲的獵物,石頭就是他們的計(jì)算工具。著名科普作家阿西莫夫說,人類最早的計(jì)算工具是手指,英語(yǔ)單詞“Dight”既表示“手指”又表示“整數(shù)數(shù)字”;而中國(guó)古人常用“結(jié)繩”來(lái)幫助記事,“結(jié)繩”當(dāng)然也可以充當(dāng)計(jì)算工具。石頭、手指、繩子……,這些都是古人用過的“計(jì)算機(jī)”。
不知何時(shí),許多國(guó)家的人都不約而同想到用“籌碼”來(lái)改進(jìn)工具,其中要數(shù)中國(guó)的算籌最有名氣。商周時(shí)代問世的算籌,實(shí)際上是一種竹制、木制或骨制的小棍。古人在地面或盤子里反復(fù)擺弄這些小棍,通過移動(dòng)來(lái)進(jìn)行計(jì)算,從此出現(xiàn)了“運(yùn)籌”這個(gè)詞,運(yùn)籌就是計(jì)算,后來(lái)才派生出“籌”的詞義。中國(guó)古代科學(xué)家祖沖之最先算出了圓周率小數(shù)點(diǎn)后的第6位,使用的工具正是算籌,這個(gè)結(jié)果即使用筆算也很不容易求得。
歐洲人發(fā)明的算籌與中國(guó)不盡相同,他們的算籌是根據(jù)“格子乘法”的原理制成。例如要計(jì)算1248×456,可以先畫一個(gè)矩形,然后把它分成3×2個(gè)小格子,在小格子邊依次寫下乘數(shù)、被乘數(shù)的各位數(shù)字,再用對(duì)角線把小格子一分為二,分別記錄上述各位數(shù)字相應(yīng)乘積的十位數(shù)與個(gè)位數(shù)。把這些乘積由右到左,沿斜線方向相加,最后就得到乘積。1617年,英國(guó)數(shù)學(xué)家納皮爾把格子乘法表中可能出現(xiàn)的結(jié)果,印刻在一些狹長(zhǎng)條的算籌上,利用算籌的擺放來(lái)進(jìn)行乘、除或其他運(yùn)算。納皮爾算籌在很長(zhǎng)一段時(shí)間里,是歐洲人主要的計(jì)算工具。算籌在使用中,一旦遇到復(fù)雜運(yùn)算常弄得繁雜混亂,讓人感到不便,于是中國(guó)人又發(fā)明了一種新式的“計(jì)算機(jī)”。
著名作家謝爾頓在他的小說《假如明天來(lái)臨》里講過一個(gè)故事:騙子杰夫向經(jīng)銷商兜售一種袖珍計(jì)算機(jī),說它“價(jià)格低廉,絕無(wú)故障,節(jié)約能源,十年中無(wú)需任何保養(yǎng)”。當(dāng)商人打開包裝盒一看,這臺(tái)“計(jì)算機(jī)”原來(lái)是一把來(lái)自中國(guó)的算盤。世界文明的四大發(fā)源地──黃河流域、印度河流域、尼羅河流域和幼發(fā)拉底河流域──先后都出現(xiàn)過不同形式的算盤,只有中國(guó)的珠算盤一直沿用至今。珠算盤最早可能萌芽于漢代,定型于南北朝。它利用進(jìn)位制記數(shù),通過撥動(dòng)算珠進(jìn)行運(yùn)算:上珠每珠當(dāng)五,下珠每珠當(dāng)一,每一檔可當(dāng)作一個(gè)數(shù)位。打算盤必須記住一套口訣,口訣相當(dāng)于算盤的“軟件”。算盤本身還可以存儲(chǔ)數(shù)字,使用起來(lái)的確很方便,它幫助中國(guó)古代數(shù)學(xué)家取得了不少重大的科技成果,在人類計(jì)算工具史上具有重要的地位。
15世紀(jì)以后,隨著天文、航海的發(fā)展,計(jì)算工作日趨繁重,迫切需要探求新的計(jì)算方法并改進(jìn)計(jì)算工具。1630年,英國(guó)數(shù)學(xué)家奧特雷德使用當(dāng)時(shí)流行的對(duì)數(shù)刻度尺做乘法運(yùn)算,突然萌生了一個(gè)念頭:若采用兩根相互滑動(dòng)的對(duì)數(shù)刻度尺,不就省得用兩腳規(guī)度量長(zhǎng)度嗎?他的這個(gè)設(shè)想導(dǎo)致了“機(jī)械化”計(jì)算尺的誕生。奧特雷德是理論數(shù)學(xué)家,對(duì)這個(gè)小小的計(jì)算尺并不在意,也沒有打算讓它流傳于世,此后二百年,他的發(fā)明未被實(shí)際運(yùn)用。18世紀(jì)末,以發(fā)明蒸汽機(jī)聞名于世的瓦特,成功地制出了第一把名副其實(shí)的計(jì)算尺。瓦特原來(lái)就是一位儀表匠,他的蒸汽機(jī)工廠投產(chǎn)后,需要迅速計(jì)算蒸汽機(jī)的功率和氣缸體積。瓦特設(shè)計(jì)的計(jì)算尺,在尺座上多了一個(gè)滑標(biāo),用來(lái)“存儲(chǔ)”計(jì)算的中間結(jié)果,這種滑標(biāo)很長(zhǎng)時(shí)間一直被后人所沿用。
1850年以后,對(duì)數(shù)計(jì)算尺迅速發(fā)展,成了工程師們必不可少的隨身攜帶的“計(jì)算機(jī)”,直到20世紀(jì)五、六十年代,它仍然是代表工科大學(xué)生身份的一種標(biāo)志。
凝聚著許許多多科學(xué)家和能工巧匠智慧的早期計(jì)算工具,在不同的歷史階段發(fā)揮過巨大作用,但也將隨著科學(xué)發(fā)展而逐漸消亡,最終完成它們的歷史使命。
第一臺(tái)真正的計(jì)算機(jī)是著名科學(xué)家帕斯卡(B.Pascal)發(fā)明的機(jī)械計(jì)算機(jī)。
帕斯卡1623年出生在法國(guó)一位數(shù)學(xué)家家庭,他三歲喪母,由擔(dān)任著稅務(wù)官的父親拉扯他長(zhǎng)大成人。從小,他就顯示出對(duì)科學(xué)研究濃厚的興趣。
少年帕斯卡對(duì)他的父親一往情深,他每天都看著年邁的父親費(fèi)力地計(jì)算稅率稅款,很想幫助做點(diǎn)事,可又怕父親不放心。于是,未來(lái)的科學(xué)家想到了為父親制做一臺(tái)可以計(jì)算稅款的機(jī)器。19歲那年,他發(fā)明了人類有史以來(lái)第一臺(tái)機(jī)械計(jì)算機(jī)。
帕斯卡的計(jì)算機(jī)是一種系列齒輪組成的裝置,外形像一個(gè)長(zhǎng)方盒子,用兒童玩具那種鑰匙旋緊發(fā)條后才能轉(zhuǎn)動(dòng),只能夠做加法和減法。然而,即使只做加法,也有個(gè)“逢十進(jìn)一”的進(jìn)位問題。聰明的帕斯卡采用了一種小爪子式的棘輪裝置。當(dāng)定位齒輪朝9轉(zhuǎn)動(dòng)時(shí),棘爪便逐漸升高;一旦齒輪轉(zhuǎn)到0,棘爪就“咔嚓”一聲跌落下來(lái),推動(dòng)十位數(shù)的齒輪前進(jìn)一檔。
帕斯卡發(fā)明成功后,一連制作了50臺(tái)這種被人稱為“帕斯卡加法器”的計(jì)算機(jī),至少現(xiàn)在還有5臺(tái)保存著。比如,在法國(guó)巴黎工藝學(xué)校、英國(guó)倫敦科學(xué)博物館都可以看到帕斯卡計(jì)算機(jī)原型。據(jù)說在中國(guó)的故宮博物院,也保存著兩臺(tái)銅制的復(fù)制品,是當(dāng)年外國(guó)人送給慈僖太后的禮品,“老佛爺”哪里懂得它的奧妙,只把它當(dāng)成了西方的洋玩具,藏在深宮里面。
帕斯卡是真正的天才,他在諸多領(lǐng)域內(nèi)都有建樹。后人在介紹他時(shí),說他是數(shù)學(xué)家、物理學(xué)家、哲學(xué)家、流體動(dòng)力學(xué)家和概率論的創(chuàng)始人。凡是學(xué)過物理的人都知道一個(gè)關(guān)于液體壓強(qiáng)性質(zhì)的“帕斯卡定律”,這個(gè)定律就是他的偉大發(fā)現(xiàn)并以他的名字命名的。他甚至還是文學(xué)家,其文筆優(yōu)美的散文在法國(guó)極負(fù)盛名??上ВL(zhǎng)期從事艱苦的研究損害了他的健康,1662年英年早逝,死時(shí)年僅39歲。他留給了世人一句至理名言:“人好比是脆弱的蘆葦,但是他又是有思想的蘆葦。”
全世界“有思想的蘆葦”,尤其是計(jì)算機(jī)領(lǐng)域的后來(lái)者,都不會(huì)忘記帕斯卡在渾沌中點(diǎn)燃的亮光。1971年發(fā)明的一種程序設(shè)計(jì)語(yǔ)言──PASCAL語(yǔ)言,就是為了紀(jì)念這位先驅(qū),使帕斯卡的英名長(zhǎng)留在電腦時(shí)代里。
帕斯卡逝世后不久,與法蘭西毗鄰的德國(guó)萊茵河畔,有位英俊的年輕人正挑燈夜讀。黎明時(shí)分,青年人站起身,揉了一下疲乏的腰部,臉上流露出會(huì)心的微笑,一個(gè)朦朧的設(shè)想已醞釀成熟。雖然在帕斯卡發(fā)明加法器的時(shí)候,他尚未出世,但這篇由帕斯卡親自撰寫的關(guān)于加法計(jì)算機(jī)的論文,卻使他似醍醐灌頂,勾起強(qiáng)烈的發(fā)明欲。他就是德國(guó)大數(shù)學(xué)家、被《不列顛百科全書》稱為“西方文明最偉大的人物之一”的萊布尼茨(G.Leibnitz)。
萊布尼茨早年歷經(jīng)坎坷。當(dāng)幸運(yùn)之神降臨之時(shí),他獲得了一次出使法國(guó)的機(jī)會(huì)。帕斯卡的故鄉(xiāng)張開臂膀接納他,為他實(shí)現(xiàn)計(jì)算機(jī)器的夙愿創(chuàng)造了契機(jī)。在巴黎,他聘請(qǐng)到一些著名機(jī)械專家和能工巧匠協(xié)助工作,終于在1674年造出一臺(tái)更完美的機(jī)械計(jì)算機(jī)。
萊布尼茨發(fā)明的新型計(jì)算機(jī)約有1米長(zhǎng),內(nèi)部安裝了一系列齒輪機(jī)構(gòu),除了體積較大之外,基本原理繼承于帕斯卡。不過,萊布尼茨技高一籌,他為計(jì)算機(jī)增添了一種名叫“步進(jìn)輪”的裝置。步進(jìn)輪是一個(gè)有9個(gè)齒的長(zhǎng)圓柱體,9個(gè)齒依次分布于圓柱表面;旁邊另有個(gè)小齒輪可以沿著軸向移動(dòng),以便逐次與步進(jìn)輪嚙合。每當(dāng)小齒輪轉(zhuǎn)動(dòng)一圈,步進(jìn)輪可根據(jù)它與小齒輪嚙合的齒數(shù),分別轉(zhuǎn)動(dòng)1/10、2/10圈……,直到9/10圈,這樣一來(lái),它就能夠連續(xù)重復(fù)地做加法。
稍熟悉電腦程序設(shè)計(jì)的人都知道,連續(xù)重復(fù)計(jì)算加法就是現(xiàn)代計(jì)算機(jī)做乘除運(yùn)算采用的辦法。萊布尼茨的計(jì)算機(jī),加、減、乘、除四則運(yùn)算一應(yīng)俱全,也給其后風(fēng)靡一時(shí)的手搖計(jì)算機(jī)鋪平了道路。
不久,因獨(dú)立發(fā)明微積分而與牛頓齊名的萊布尼茨,又為計(jì)算機(jī)提出了“二進(jìn)制”數(shù)的設(shè)計(jì)思路。有人說,他的想法來(lái)自于東方中國(guó)。
大約在公元1700年左右某天,友人送給他一幅從中國(guó)帶來(lái)圖畫,名稱叫做“八卦”,是宋朝人邵雍所摹繪的一張“易圖”。萊布尼茨用放大鏡仔細(xì)觀察八卦的每一卦象,發(fā)現(xiàn)它們都由陽(yáng)(—)和陰(--)兩種符號(hào)組合而成。他撓有興趣地把8種卦象顛來(lái)倒去排列組合,腦海中突然火花一閃──這不就是很有規(guī)律的二進(jìn)制數(shù)字嗎?若認(rèn)為陽(yáng)(—)是“1”,陰(--)是“0”,八卦恰好組成了二進(jìn)制000到111共8個(gè)基本序數(shù)。正是在中國(guó)人睿智的啟迪下,萊布尼茨最終悟出了二進(jìn)制數(shù)之真諦。雖然萊布尼茨設(shè)計(jì)的計(jì)算機(jī)用的還是十進(jìn)制,但他率先系統(tǒng)提出了二進(jìn)制數(shù)的運(yùn)算法則,直到今天,二進(jìn)制數(shù)仍然左右著現(xiàn)代電腦的高速運(yùn)算。
帕斯卡的計(jì)算機(jī)經(jīng)由萊布尼茨的改進(jìn)之后,人們又給它裝上電動(dòng)機(jī)以驅(qū)動(dòng)機(jī)器工作,成為名符其實(shí)的“電動(dòng)計(jì)算機(jī)”,并且一直使用到本世紀(jì)20年代才退出舞臺(tái)。盡管帕斯卡與萊布尼茨的發(fā)明還不是現(xiàn)代意義上的計(jì)算機(jī),但它們畢竟昭示著人類計(jì)算機(jī)史里的第一抹曙光。
要讓機(jī)器聽人類的話,按人類的意愿去計(jì)算,就要實(shí)現(xiàn)人與機(jī)器之間的對(duì)話,或者說,要把人類的思想傳送給機(jī)器,讓機(jī)器按人的意志自動(dòng)執(zhí)行。
說來(lái)也怪,實(shí)現(xiàn)人與機(jī)器對(duì)話的始作俑者卻不是研制計(jì)算機(jī)的那些前輩,而是與計(jì)算機(jī)發(fā)明毫不相干的兩位法國(guó)紡織機(jī)械師。他們先后發(fā)明了一種指揮機(jī)器工作的“程序”,把思想直接“注入”到了提花編織機(jī)的針尖上。
顧名思義,提花編織機(jī)具有升降紗線的提花裝置,是一種能使綢布編織出圖案花紋的織布機(jī)器。
應(yīng)該是,提花編織機(jī)最早出現(xiàn)在中國(guó)。在我國(guó)出土的戰(zhàn)國(guó)時(shí)代墓葬物品中,就有許多用彩色絲線編織的漂亮花布。據(jù)史書記載,西漢年間,鉅鹿縣紡織工匠陳寶光的妻子,能熟練地掌握提花機(jī)操作技術(shù),她的機(jī)器配置了120根經(jīng)線,平均60天即可織成一匹花布,每匹價(jià)值萬(wàn)錢。明朝刻印的《天工開物》一書中,還赫然地印著一幅提花機(jī)的示意圖??梢韵胂?,當(dāng)歐洲的王公貴族對(duì)從“絲綢之路”傳入的美麗綢緞贊嘆不已時(shí),中國(guó)的提花機(jī)也必定會(huì)沿著“絲綢之路”傳入歐洲。
不過,用當(dāng)時(shí)的編織機(jī)編織圖案相當(dāng)費(fèi)事。所有的綢布都是用經(jīng)線(縱向線)和緯線(橫向線)編織而成。若要織出花樣,織工們必須細(xì)心地按照預(yù)先設(shè)計(jì)的圖案,在適當(dāng)位置“提”起一部分經(jīng)線,以便讓滑梭牽引著不同顏色的緯線通過。機(jī)器當(dāng)然不可能自己“想”到該在何處提線,只能靠人手“提”起一根又一根經(jīng)線,不厭其煩地重復(fù)這種操作。
1725年,法國(guó)紡織機(jī)械師布喬(B.Bouchon)突發(fā)奇想,想出了一個(gè)“穿孔紙帶”的絕妙主意。布喬首先設(shè)法用一排編織針控制所有的經(jīng)線運(yùn)動(dòng),然后取來(lái)一卷紙帶,根據(jù)圖案打出一排排小孔,并把它壓在編織針上。啟動(dòng)機(jī)器后,正對(duì)著小孔的編織針能穿過去鉤起經(jīng)線,其他的針則被紙帶擋住不動(dòng)。這樣一來(lái),編織針就自動(dòng)按照預(yù)先設(shè)計(jì)的圖案去挑選經(jīng)線,布喬的“思想”于是“傳遞”給了編織機(jī),而編織圖案的“程序”也就“儲(chǔ)存”在穿孔紙帶的小孔之中。真正成功的改進(jìn)是在80年后,另一位法國(guó)機(jī)械師杰卡德(J.Jacquard),大約在1805年完成了“自動(dòng)提花編織機(jī)”的設(shè)計(jì)制作。
那是舉世矚目的法國(guó)大革命的年代──攻打巴士底獄,推翻封建王朝,武裝保衛(wèi)巴黎,市民們高唱著“馬賽曲”,紛紛走上街頭,革命風(fēng)暴如火如荼。雖然杰卡德在1790年就基本形成了他的提花機(jī)設(shè)計(jì)構(gòu)想,但為了參加革命,他無(wú)暇顧及發(fā)明創(chuàng)造,也扛起來(lái)福槍,投身到里昂保衛(wèi)戰(zhàn)的行列里。直到19世紀(jì)到來(lái)之后,杰卡德的機(jī)器才得以組裝完成。
杰卡德為他的提花機(jī)增加了一種裝置,能夠同時(shí)操縱1200個(gè)編織針,控制圖案的穿孔紙帶后來(lái)也換成了穿孔卡片。據(jù)說,杰卡德編織機(jī)面世后僅25年,考文垂附近的鄉(xiāng)村里就有了600臺(tái),在老式蒸氣機(jī)噗嗤噗嗤的伴奏下,把穿孔卡片上的圖案變成一匹匹漂亮的花綢布。紡織工人最初強(qiáng)烈反對(duì)這架自動(dòng)化的新鮮玩意的到來(lái),因?yàn)楹ε聶C(jī)器會(huì)搶去他們的飯碗,使他們失去工作,但因?yàn)樗鼉?yōu)越的性能,終于被人們普遍接受。1812年,僅在法國(guó)已經(jīng)裝配了萬(wàn)余臺(tái),并通過英國(guó)傳遍了西方世界,杰卡德也因此而被受予了榮譽(yù)軍團(tuán)十字勛章和金質(zhì)獎(jiǎng)?wù)隆?/span>
杰卡德提花編織機(jī)奏響了19世紀(jì)機(jī)器自動(dòng)化的序曲。在倫敦出版的《不列顛百科全書》和中國(guó)出版的《英漢科技詞匯大全》兩部書中,“JACQUARD”(杰卡德)一詞的詞條下,英語(yǔ)和漢語(yǔ)的意思居然都是“提花機(jī)”,可見,杰卡德的名字已經(jīng)與提花機(jī)融為了一體。杰卡德提花機(jī)的原理,即使到了電腦時(shí)代的今天,依然沒有更大的改動(dòng),街頭巷尾小作坊里使用的手工絨線編織機(jī),其基本結(jié)構(gòu)仍與杰卡德編織機(jī)大體相似。
此外,杰卡德編織機(jī)“千瘡百孔”的穿孔卡片,不僅讓機(jī)器編織出絢麗多彩的圖案,而且意味著程序控制思想的萌芽,穿孔紙帶和穿孔卡片也廣泛用于早期電腦以存儲(chǔ)程序和數(shù)據(jù)?;蛟S,我們現(xiàn)在把“程序設(shè)計(jì)”俗稱為“編程序”,就引申自編織機(jī)的“編織花布”的詞義。
今天出版的許多計(jì)算機(jī)書籍扉頁(yè)里,都登載著巴貝奇(C.Babbage)的照片:寬闊的額,狹長(zhǎng)的嘴,銳利的目光顯得有些憤世嫉俗,堅(jiān)定的但絕非缺乏幽默的外貌,給人以一個(gè)極富深邃思想的學(xué)者形象。
巴貝奇是一位富有的銀行家的兒子,1792年出生在英格蘭西南部的托特納斯,后來(lái)繼承了相當(dāng)豐厚的遺產(chǎn),但他把金錢都用于了科學(xué)研究。童年時(shí)代的巴貝奇顯示出極高的數(shù)學(xué)天賦,考入劍橋大學(xué)后,他發(fā)現(xiàn)自己掌握的代數(shù)知識(shí)甚至超過了教師。畢業(yè)留校,24歲的年青人榮幸受聘擔(dān)任劍橋大學(xué)“路卡辛講座”的數(shù)學(xué)教授。這是一個(gè)很少有人能夠獲得的殊榮,牛頓的老師巴羅是第一名,牛頓是第二名。在教學(xué)之余,巴貝奇完成了大量發(fā)明創(chuàng)造,如運(yùn)用運(yùn)籌學(xué)理論率先提出“一便士郵資”制度,發(fā)明了供火車使用的速度計(jì)和排障器等等。假若巴貝奇繼續(xù)在數(shù)學(xué)理論和科技發(fā)明領(lǐng)域耕耘,他本來(lái)是可以走上鮮花鋪就的坦途。然而,這位曠世奇才卻選擇了一條無(wú)人敢于攀登的崎嶇險(xiǎn)路。
事情還得從法國(guó)講起。18世紀(jì)末,法蘭西發(fā)起了一項(xiàng)宏大的計(jì)算工程──人工編制《數(shù)學(xué)用表》,這在沒有先進(jìn)計(jì)算工具的當(dāng)時(shí),是件極其艱巨的工作。法國(guó)數(shù)學(xué)界調(diào)集大批數(shù)學(xué)家,組成了人工手算的流水線,算得天昏地暗,才完成了17卷大部頭書稿。即便如此,計(jì)算出的數(shù)學(xué)用表仍然存在大量錯(cuò)誤。據(jù)說有一天,巴貝奇與著名的天文學(xué)家赫舍爾湊在一起,對(duì)兩大部頭的天文數(shù)表評(píng)頭論足,翻一頁(yè)就是一個(gè)錯(cuò),翻兩頁(yè)就有好幾處。面對(duì)錯(cuò)誤百出的數(shù)學(xué)表,巴貝奇目瞪口呆,他甚至喊出聲來(lái):“天哪,這些計(jì)算錯(cuò)誤已經(jīng)充斥彌漫了整個(gè)宇宙!”
這件事也許就是巴貝奇萌生研制計(jì)算機(jī)構(gòu)想的起因。巴貝奇在他的自傳《一個(gè)哲學(xué)家的生命歷程》里,寫到了大約發(fā)生在1812年的一件事:“有一天晚上,我坐在劍橋大學(xué)的分析學(xué)會(huì)辦公室里,神志恍惚地低頭看著面前打開的一張對(duì)數(shù)表。一位會(huì)員走進(jìn)屋來(lái),瞧見我的樣子,忙喊道:‘喂!你夢(mèng)見什么啦?’我指著對(duì)數(shù)表回答說:‘我正在考慮這些表也許能用機(jī)器來(lái)計(jì)算!’”巴貝奇的第一個(gè)目標(biāo)是制作一臺(tái)“差分機(jī)”。所謂“差分”的含義,是把函數(shù)表的復(fù)雜算式轉(zhuǎn)化為差分運(yùn)算,用簡(jiǎn)單的加法代替平方運(yùn)算。那一年,剛滿20歲的巴貝奇從法國(guó)人杰卡德發(fā)明的提花編織機(jī)上獲得了靈感,差分機(jī)設(shè)計(jì)閃爍出了程序控制的靈光──它能夠按照設(shè)計(jì)者的旨意,自動(dòng)處理不同函數(shù)的計(jì)算過程。
巴貝奇耗費(fèi)了整整十年光陰,于1822年完成了第一臺(tái)差分機(jī),它可以處理3個(gè)不同的5位數(shù),計(jì)算精度達(dá)到6位小數(shù),當(dāng)即就演算出好幾種函數(shù)表。由于當(dāng)時(shí)工業(yè)技術(shù)水平極低,第一臺(tái)差分機(jī)從設(shè)計(jì)繪圖到機(jī)械零件加工,都是巴貝奇親自動(dòng)手完成。當(dāng)他看著自己的機(jī)器制作出準(zhǔn)確無(wú)誤的《數(shù)學(xué)用表》,高興地對(duì)人講:“哪怕我的機(jī)器出了故障,比如齒輪被卡住不能動(dòng),那也毫無(wú)關(guān)系。你看,每個(gè)輪子上都有數(shù)字標(biāo)記,它不會(huì)欺騙任何人。”以后實(shí)際運(yùn)用證明,這種機(jī)器非常適合于編制航海和天文方面的數(shù)學(xué)用表。
成功的喜悅激勵(lì)著巴貝奇,他連夜奮筆上書皇家學(xué)會(huì),要求政府資助他建造第二臺(tái)運(yùn)算精度為20位的大型差分機(jī)。英國(guó)政府看到巴貝奇的研究有利可圖,破天荒地與科學(xué)家簽訂了第一個(gè)合同,財(cái)政部慷慨地為這臺(tái)大型差分機(jī)提供出1.7萬(wàn)英鎊的資助。巴貝奇自己也貼進(jìn)去1.3萬(wàn)英鎊巨款,用以彌補(bǔ)研制經(jīng)費(fèi)的不足。在當(dāng)年,這筆款項(xiàng)的數(shù)額無(wú)異于天文數(shù)字──有資料介紹說,1831年約翰·布爾制造一臺(tái)蒸汽機(jī)車的費(fèi)用才784英磅。
然而,第二臺(tái)差分機(jī)在機(jī)械制造工廠里觸上了“暗礁”。
第二臺(tái)差分機(jī)大約有25000個(gè)零件,主要零件的誤差不得超過每英寸千分之一,即使用現(xiàn)在的加工設(shè)備和技術(shù),要想造出這種高精度的機(jī)械也絕非易事。巴貝奇把差分機(jī)交給了英國(guó)最著名的機(jī)械工程師約瑟夫·克萊門特所屬的工廠制造,但工程進(jìn)度十分緩慢。設(shè)計(jì)師心急火燎,從劍橋到工廠,從工廠到劍橋,一天幾個(gè)來(lái)回。他把圖紙改了又改,讓工人把零件重做一遍又一遍。年復(fù)一年,日復(fù)一日,直到又一個(gè)10年過去后,巴貝奇依然望著那些不能運(yùn)轉(zhuǎn)的機(jī)器發(fā)愁,全部零件亦只完成不足一半數(shù)量。參加試驗(yàn)的同事們?cè)僖矆?jiān)持不下去,紛紛離他而去。巴貝奇獨(dú)自苦苦支撐了第三個(gè)10年,終于感到無(wú)力回天。
那天清晨,巴貝奇走進(jìn)車間,偌大的作業(yè)場(chǎng)空無(wú)一人,只剩下滿地的滑車和齒輪,四處一片狼藉。他呆立在尚未完工的機(jī)器旁,深深地嘆了口氣。在痛苦的煎熬中,他無(wú)計(jì)可施,只得把全部設(shè)計(jì)圖紙和已完成的部分零件送進(jìn)倫敦皇家學(xué)院博物館供人觀賞。1842年,在巴貝奇的一生中是極不平常的一年。英國(guó)政府宣布斷絕對(duì)他的一切資助,連科學(xué)界的友人都用一種怪異的目光看著他。英國(guó)首相譏諷道:“這部機(jī)器的唯一用途,就是花掉大筆金錢!”同行們譏笑他是“愚笨的巴貝奇”?;始覍W(xué)院的權(quán)威人士,包括著名天文學(xué)家艾瑞等人,都公開宣稱他的差分機(jī)“毫無(wú)任何價(jià)值”……
就在痛苦艱難的時(shí)刻,孤獨(dú)苦悶的巴貝奇意外地收到一封來(lái)信,寫信人不僅對(duì)他表示理解而且還希望與他共同工作。娟秀字體的簽名,表明了她不凡的身份──伯爵夫人。
接到信函后不久,巴貝奇實(shí)驗(yàn)室門口走進(jìn)來(lái)一位年輕的女士。她身披素雅的斗蓬,鬢角上斜插一朵白色的康乃馨,顯得那么典雅端莊。巴貝奇一時(shí)愣在那里,他與這位女士似曾相識(shí),又想不起曾在何處邂逅。女士落落大方地作了自我介紹,正是那位寫信人。
“您還記得我嗎?”女士低聲問道,“十多年前,您還給我講過差分機(jī)原理。”看到巴貝奇迷惑的眼神,她又笑著補(bǔ)充說:“您說我像野人見到了望遠(yuǎn)鏡。”巴貝奇恍然大悟,想起已經(jīng)十分遙遠(yuǎn)的往事。面前這位女士和那個(gè)小女孩之間,依稀還有幾分相似。原來(lái),伯爵夫人本名叫阿達(dá)·奧古斯塔(AdaAugusta),是英國(guó)著名詩(shī)人拜倫的獨(dú)生女。她比巴貝奇的年齡小20多歲,1815年出生。阿達(dá)自小命運(yùn)多舛,來(lái)到人世的第二年,父親拜倫因性格不合與她的母親離異,從此別離英國(guó)??赡苁菑奈吹玫竭^父愛的緣由,小阿達(dá)沒有繼承到父親詩(shī)一般的浪漫熱情,卻繼承了母親的數(shù)學(xué)才能和毅力。
還是在阿達(dá)的少女時(shí)代,母親的一位朋友領(lǐng)著她們?nèi)⒂^巴貝奇的差分機(jī)。其他女孩子圍著差分機(jī)嘰嘰喳喳亂發(fā)議論,摸不著頭腦。只有阿達(dá)看得非常仔細(xì),她十分理解并且深知巴貝奇這項(xiàng)發(fā)明的重大意義?;蛟S是這個(gè)小女孩特殊的氣質(zhì),在巴貝奇的記憶里打下了較深的印記。他趕緊請(qǐng)阿達(dá)入座,并欣然同意與這位小有名氣的數(shù)學(xué)才女共同研制新的計(jì)算機(jī)器。
就這樣,在阿達(dá)27歲時(shí),她成為巴貝奇科學(xué)研究上的合作伙伴,迷上這項(xiàng)常人不可理喻的“怪誕”研究。其時(shí),她已經(jīng)成了家,丈夫是洛甫雷斯伯爵。按照英國(guó)的習(xí)俗,許多資料在介紹里都把她稱為“洛甫雷斯伯爵夫人”。
30年的困難和挫折并沒有使巴貝奇屈服,阿達(dá)的友情援助更堅(jiān)定了他的決心。還在大型差分機(jī)進(jìn)軍受挫的1834年,巴貝奇就已經(jīng)提出了一項(xiàng)新的更大膽的設(shè)計(jì)。他最后沖刺的目標(biāo),不是僅僅能夠制表的差分機(jī),而是一種通用的數(shù)學(xué)計(jì)算機(jī)。巴貝奇把這種新的設(shè)計(jì)叫做“分析機(jī)”,它能夠自動(dòng)解算有100個(gè)變量的復(fù)雜算題,每個(gè)數(shù)可達(dá)25位,速度可達(dá)每秒鐘運(yùn)算一次。
今天我們?cè)倩厥卓纯窗拓惼娴脑O(shè)計(jì),分析機(jī)的思想仍然閃爍著天才的光芒。
由于巴貝奇晚年因喉疾幾乎不能說話,介紹分析機(jī)的文字主要由阿達(dá)替他完成。阿達(dá)在一篇文章里介紹說:“這臺(tái)機(jī)器不論在可能完成的計(jì)算范圍、簡(jiǎn)便程度以及可靠性與精確度方面,或者是計(jì)算時(shí)完全不用人參與這方面,都超過了以前的機(jī)器。”巴貝奇把分析機(jī)設(shè)計(jì)得那樣精巧,他打算用蒸汽機(jī)為動(dòng)力,驅(qū)動(dòng)大量的齒輪機(jī)構(gòu)運(yùn)轉(zhuǎn)。巴貝奇的分析機(jī)大體上有三大部分:其一是齒輪式的“存貯庫(kù)”,巴貝奇稱它為“倉(cāng)庫(kù)”(Store),每個(gè)齒輪可貯存10個(gè)數(shù),齒輪組成的陣列總共能夠儲(chǔ)存1000個(gè)50位數(shù)。分析機(jī)的第二個(gè)部件是所謂“運(yùn)算室”,它被巴貝奇命名為“作坊”(Mill),其基本原理與帕斯卡的轉(zhuǎn)輪相似,用齒輪間的嚙合、旋轉(zhuǎn)、平移等方式進(jìn)行數(shù)字運(yùn)算。為了加快運(yùn)算速度,他改進(jìn)了進(jìn)位裝置,使得50位數(shù)加50位數(shù)的運(yùn)算可完成于一次轉(zhuǎn)輪之中。第三部分巴貝奇沒有為它具體命名,其功能是以杰卡德穿孔卡中的“0”和“1”來(lái)控制運(yùn)算操作的順序,類似于電腦里的控制器。他甚至還考慮到如何使這臺(tái)機(jī)器處理依條件轉(zhuǎn)移的動(dòng)作,比如,第一步運(yùn)算結(jié)果若是“1”,就接著做乘法,若是“0”就進(jìn)行除法運(yùn)算。此外,巴貝奇也構(gòu)思了送入和取出數(shù)據(jù)的機(jī)構(gòu),以及在“倉(cāng)庫(kù)”和“作坊”之間不斷往返運(yùn)輸數(shù)據(jù)的部件。
阿達(dá)“心有靈犀一點(diǎn)通”,她非常準(zhǔn)確地評(píng)價(jià)道:“分析機(jī)‘編織’的代數(shù)模式同杰卡德織布機(jī)編織的花葉完全一樣”。于是,為分析機(jī)編制一批函數(shù)計(jì)算程序的重?fù)?dān),落到了數(shù)學(xué)才女的肩頭。阿達(dá)開天辟地第一次為計(jì)算機(jī)編出了程序,其中包括計(jì)算三角函數(shù)的程序、級(jí)數(shù)相乘程序、伯努利函數(shù)程序等等。阿達(dá)編制的這些程序,即使到了今天,電腦軟件界的后輩仍然不敢輕易改動(dòng)一條指令。人們公認(rèn)她是世界上第一位軟件工程師。眾所周知,美國(guó)國(guó)防部據(jù)說是花了250億美元和10年的光陰,把它所需要軟件的全部功能混合在一種計(jì)算機(jī)語(yǔ)言中,希望它能成為軍方數(shù)千種電腦的標(biāo)準(zhǔn)。1981年,這種語(yǔ)言被正式命名為ADA(阿達(dá))語(yǔ)言,使阿達(dá)的英名流傳至今。
不過,以上講的都是后話,殊不知巴貝奇和阿達(dá)當(dāng)年處在怎樣痛苦的水深火熱之中!由于得不到任何資助,巴貝奇為把分析機(jī)的圖紙變成現(xiàn)實(shí),耗盡了自己全部財(cái)產(chǎn),弄得一貧如洗。他只好暫時(shí)放下手頭的活,和阿達(dá)商量設(shè)法賺一些錢,如制作什么國(guó)際象棋玩具,什么賽馬游戲機(jī)等等。為籌措科研經(jīng)費(fèi),他們不得不“下海”搞“創(chuàng)收”。最后,兩人陷入了惶惶不可終日的窘境。阿達(dá)忍痛兩次把丈夫家中祖?zhèn)鞯恼鋵毸瓦M(jìn)當(dāng)鋪,以維持日常開銷,而這些財(cái)寶又兩次被她母親出資贖了回來(lái)。貧困交加,無(wú)休止的腦力勞動(dòng),使阿達(dá)的健康狀況急劇惡化。1852年,懷著對(duì)分析機(jī)成功的美好夢(mèng)想,軟件才女英年早逝,死時(shí)年僅36歲。阿達(dá)去世后,巴貝奇又默默地獨(dú)自堅(jiān)持了近20年。晚年的他已經(jīng)不能準(zhǔn)確地發(fā)音,甚至不能有條理地表達(dá)自己的意思,但是他仍然百折不撓地堅(jiān)持工作。1871年,為計(jì)算機(jī)事業(yè)貢獻(xiàn)畢生精力的先驅(qū)者巴貝奇,終于滿懷著對(duì)分析機(jī)無(wú)言的悲悵,孤獨(dú)地離開了人世。有人把他的大腦用鹽漬著保存起來(lái),想經(jīng)過若干年后,有更先進(jìn)技術(shù)來(lái)研究他大腦保存的精神。
分析機(jī)終于沒能造出來(lái),巴貝奇和阿達(dá)失敗了。巴貝奇和阿達(dá)的失敗是因?yàn)樗麄兛吹锰h(yuǎn),分析機(jī)的設(shè)想超出了他們所處時(shí)代至少一個(gè)世紀(jì)!社會(huì)發(fā)展的需求和科學(xué)技術(shù)發(fā)展的可能,使得他們注定要成為的悲劇人物。盡管如此,巴貝奇和阿達(dá)為電腦科學(xué)留下了一份極其珍貴的精神遺產(chǎn),包括30種不同設(shè)計(jì)方案,近2000張組裝圖和50000張零件圖……,更包括那種在逆境中自強(qiáng)不息,為追求理想奮不顧身的拼搏精神。
巴貝奇巨星隕落后,世人已逐漸將他淡忘,20世紀(jì)已經(jīng)來(lái)臨。計(jì)算機(jī)的歷史等待著,等待著巴貝奇式的人物再世,等待著人類劃時(shí)代的壯舉。
大約在1936年,美國(guó)青年霍德華·艾肯(H.Aiken)來(lái)哈佛大學(xué)攻讀物理學(xué)博士學(xué)位。恰好在世紀(jì)之交來(lái)到人世的艾肯,屬于大器晚成的科學(xué)家。由于家庭貧困,他不得不以半工半讀的方式艱難地讀完高中。大學(xué)期間,也是一邊工作,一邊刻苦學(xué)習(xí),直到畢業(yè)后才謀到一份工程師的工作。36歲那年,他毅然辭去收入豐厚的職務(wù),重新走進(jìn)大學(xué)校門。由于博士論文的研究涉及到空間電荷的傳導(dǎo)理論,需要求解非常復(fù)雜的非線性微分方程,在進(jìn)行繁瑣的手工計(jì)算之余,艾肯很想發(fā)明一種機(jī)器代替人工求解的方法,幻想能有一臺(tái)計(jì)算機(jī)幫助他解決數(shù)學(xué)難題。
三年之后,正如萊布尼茨在書里“找到”帕斯卡一樣,艾肯也是在圖書館里“發(fā)現(xiàn)”的巴貝奇和阿達(dá)。巴貝奇和阿達(dá)的論文,令年輕人心搖旌動(dòng)。70多年過去后,巴貝奇仿佛還在對(duì)他娓娓而談:“任何人如果不接受我失敗的教訓(xùn),還仍然下決心去研制一臺(tái)把數(shù)學(xué)分析的全部工作都包括在內(nèi)的機(jī)器的話,我不怕把自己的名譽(yù)交給他去作出應(yīng)有的評(píng)價(jià),因?yàn)橹挥兴磐耆私馕夜ぷ鞯男再|(zhì)及其成果的價(jià)值”。以艾肯所處時(shí)代的科技水平,也許已經(jīng)能夠完成巴貝奇未競(jìng)的事業(yè),造出通用計(jì)算機(jī)。為此,他寫了一篇《自動(dòng)計(jì)算機(jī)的設(shè)想》的建議書,提出要用機(jī)電方式,而不是用純機(jī)械方法來(lái)構(gòu)造新的“分析機(jī)”。然而,正在求學(xué)的讀書人根本沒有可能籌措到那么大的一筆經(jīng)費(fèi)。
取得博士學(xué)位的艾肯進(jìn)入了美國(guó)海軍軍械局。一名小小的中尉,他仍然沒有錢。“金錢不是萬(wàn)能的”,但是,對(duì)于艾肯實(shí)現(xiàn)計(jì)算機(jī)夢(mèng)想來(lái)說,“沒有錢卻是萬(wàn)萬(wàn)不能的”,否則只會(huì)重蹈巴貝奇和阿達(dá)的復(fù)轍。
年輕的海軍中尉想到了制表機(jī)行業(yè)的IBM公司。
艾肯從他一位老師口中得知IBM董事長(zhǎng)沃森的大名,他的老師此時(shí)正在一所由IBM出資創(chuàng)辦的“哥倫比亞大學(xué)統(tǒng)計(jì)局”里任職,非常樂意為學(xué)生寫了份推薦信。艾肯連續(xù)通宵達(dá)旦地準(zhǔn)備材料,擬好了一份詳細(xì)的可行性報(bào)告,直接跑去找沃森。他聽老師講,沃森的作風(fēng)從來(lái)就是獨(dú)斷專行,不設(shè)法說服此人,研制計(jì)算機(jī)的計(jì)劃一準(zhǔn)泡湯。
IBM的總部座落在一幢古色古香的建設(shè)物里。沃森坐在寬大的寫字臺(tái)后,一言不發(fā)聽艾肯陳述。在他的背后,是整整齊齊擺滿各種書籍的大書柜,書柜的上方貼著只有一個(gè)單詞的格言──思考(THINK),這是沃森最為推崇的行動(dòng)準(zhǔn)則。
艾肯說完了該說的話,忐忑不安地望著對(duì)面這位愛好“思考”的企業(yè)家。
“至少需要多少錢?”沃森開口詢問。“恐怕要投入數(shù)以萬(wàn)計(jì)吧”,艾肯喃喃地回答,“不過……”
沃森擺了擺手,打斷了艾肯的話頭,拿起筆來(lái),在報(bào)告上劃了幾下。
艾肯心里一緊:“沒戲了!”出于禮貌,他還是恭敬地用雙手接過那張紙,隨即低頭一瞅,頓時(shí)喜上眉稍──沃森的大筆一揮,批給了計(jì)算機(jī)100萬(wàn)美元!
有了IBM作堅(jiān)強(qiáng)后盾,新的計(jì)算機(jī)研制工作在哈佛物理樓后的一座紅磚房里開了場(chǎng),艾肯把它取名為“馬克1號(hào)”(MarkⅠ),又叫做“自動(dòng)序列受控計(jì)算機(jī)”。IBM又派來(lái)萊克、德菲和漢密爾頓等工程師組成攻關(guān)小組,財(cái)源充足,兵強(qiáng)馬壯。比起巴貝奇和阿達(dá),艾肯的境況實(shí)在要幸運(yùn)得多。IBM也因此從生產(chǎn)制表機(jī)、肉鋪磅秤、咖啡碾磨機(jī)等亂七八糟玩意的行業(yè)里,正式跨進(jìn)了計(jì)算機(jī)的“領(lǐng)地”。
艾肯設(shè)計(jì)的馬克1號(hào)已經(jīng)是一種電動(dòng)的機(jī)器,它借助電流進(jìn)行運(yùn)算,最關(guān)鍵的部件,用的是普通電話上的繼電器。馬克1號(hào)上大約安裝了3000個(gè)繼電器,每一個(gè)都有由彈簧支撐著的小鐵棒,通過電磁鐵的吸引上下運(yùn)動(dòng)。吸合則接通電路,代表“1”;釋放則斷開電路,代表“0”。繼電器“開關(guān)”能在大約1/100秒的時(shí)間內(nèi)接通或是斷開電流,當(dāng)然比巴貝奇的齒輪先進(jìn)得多。
為馬克1號(hào)編制計(jì)算程序的也是一位女?dāng)?shù)學(xué)家格雷斯·霍波(G.Hopper)。這位聲名遐邇的數(shù)學(xué)博士,1944年參加到哈佛大學(xué)計(jì)算機(jī)研究工作,她說:“我成了世界上第一臺(tái)大型計(jì)算機(jī)MarkⅠ的第三名程序員。”霍波博士后來(lái)還為第一臺(tái)儲(chǔ)存程序的商業(yè)電子計(jì)算機(jī)UNIVAC寫過程序,又率先研制成功第一個(gè)編譯程序A-O和計(jì)算機(jī)商用語(yǔ)言COBOL,被公認(rèn)是計(jì)算機(jī)語(yǔ)言領(lǐng)域的帶頭人。有一天,她在調(diào)試程序時(shí)出現(xiàn)了故障,拆開繼電器后,發(fā)現(xiàn)有只飛蛾被夾扁在觸點(diǎn)中間,從而“卡”住了機(jī)器的運(yùn)行。于是,霍波恢諧地把程序故障統(tǒng)稱為“臭蟲”(bug),而這一奇怪的“稱呼”,后來(lái)成為計(jì)算機(jī)領(lǐng)域的專業(yè)行話,如DOS系統(tǒng)中的調(diào)試程序,程序名稱就叫DEBUG。
1944年2月,馬克1號(hào)計(jì)算機(jī)在哈佛大學(xué)正式運(yùn)行。從外表看,它的外殼用鋼和玻璃制成,長(zhǎng)約15米,高約2.4米,自重達(dá)到31.5噸,是個(gè)像恐龍般巨大身材的龐然大物。據(jù)說,艾肯和他的同事們,為它裝備了15萬(wàn)個(gè)元件和長(zhǎng)達(dá)800公里的電線。這臺(tái)機(jī)器能以令當(dāng)時(shí)人們吃驚的速度工作──每分鐘進(jìn)行200次以上的運(yùn)算。它可以作23位數(shù)加23位數(shù)的加法,一次僅需要0.3秒;而進(jìn)行同樣位數(shù)的乘法,則需要6秒多的時(shí)間。只是它運(yùn)行起來(lái)響聲不絕于耳,有的參觀者說:“就象是擠滿了一屋子編織絨線活的婦女”,也許你會(huì)聯(lián)想到,馬克1號(hào)計(jì)算機(jī)也與杰卡德編織機(jī)有天然的聯(lián)系。馬克1號(hào)代表著自帕斯卡以來(lái),人類所制造的機(jī)械計(jì)算機(jī)或電動(dòng)計(jì)算機(jī)之頂尖水平,當(dāng)時(shí)就被用來(lái)計(jì)算原子核裂變過程。它以后運(yùn)行了15年,編出的數(shù)學(xué)用表我們至今還在使用。1946年,艾肯和霍波聯(lián)袂發(fā)表文章說,這臺(tái)機(jī)器能自動(dòng)實(shí)現(xiàn)人們預(yù)先選定的系列運(yùn)算,甚至可以求解微分方程。
馬克1號(hào)終于實(shí)現(xiàn)了巴貝奇的夙愿。事隔多年后,已經(jīng)擔(dān)任大學(xué)教授的艾肯談起巴貝奇其人其事來(lái),仍然驚嘆不已,他曾感慨地說,如果巴貝奇晚生75年,我就會(huì)失業(yè)。但是,馬克1號(hào)是早期計(jì)算機(jī)的最后代表,從它投入運(yùn)行的那一刻開始就已經(jīng)過時(shí),因?yàn)榇藭r(shí)此刻,人類社會(huì)已經(jīng)跨進(jìn)了電子的時(shí)代。
CopyRight ? 2016 宣城市信息工程學(xué)校 地址:宣城市梅溪路902號(hào) 后臺(tái)登錄
郵編:242000 電話(傳真):0563-2629508 如有問題,歡迎惠賜 Email:xclmq@163.com