優(yōu)選答案計算機發(fā)展史
無處不在、無所不能的電腦,已歷經(jīng)了50多個春華秋實。50余年在人類的歷史長河中只是一瞬間,電腦卻徹底改變了我們的生活?;仡欕娔X發(fā)展的歷史,并依此上溯它的起源,真令人驚嘆滄海桑田的巨變;歷數(shù)電腦史上的英雄人物和跌宕起伏的發(fā)明故事,將給后人留下了長久的思索和啟迪。請讀者隨著我們的史話倒轉(zhuǎn)時空,從電腦最初的源頭說起。
誰都知道,電腦的學(xué)名叫做電子計算機。以人類發(fā)明這種機器的初衷,它的始祖應(yīng)該是計算工具。英語里“Calculus”(計算)一詞來源于拉丁語,既有“算法”的含義,也有腎臟或膽囊里的“結(jié)石”的意思。遠古的人們用石頭來計算捕獲的獵物,石頭就是他們的計算工具。著名科普作家阿西莫夫說,人類最早的計算工具是手指,英語單詞“Dight”既表示“手指”又表示“整數(shù)數(shù)字”;而中國古人常用“結(jié)繩”來幫助記事,“結(jié)繩”當(dāng)然也可以充當(dāng)計算工具。石頭、手指、繩子……,這些都是古人用過的“計算機”。
不知何時,許多國家的人都不約而同想到用“籌碼”來改進工具,其中要數(shù)中國的算籌最有名氣。商周時代問世的算籌,實際上是一種竹制、木制或骨制的小棍。古人在地面或盤子里反復(fù)擺弄這些小棍,通過移動來進行計算,從此出現(xiàn)了“運籌”這個詞,運籌就是計算,后來才派生出“籌”的詞義。中國古代科學(xué)家祖沖之最先算出了圓周率小數(shù)點后的第6位,使用的工具正是算籌,這個結(jié)果即使用筆算也很不容易求得。
歐洲人發(fā)明的算籌與中國不盡相同,他們的算籌是根據(jù)“格子乘法”的原理制成。例如要計算1248×456,可以先畫一個矩形,然后把它分成3×2個小格子,在小格子邊依次寫下乘數(shù)、被乘數(shù)的各位數(shù)字,再用對角線把小格子一分為二,分別記錄上述各位數(shù)字相應(yīng)乘積的十位數(shù)與個位數(shù)。把這些乘積由右到左,沿斜線方向相加,最后就得到乘積。1617年,英國數(shù)學(xué)家納皮爾把格子乘法表中可能出現(xiàn)的結(jié)果,印刻在一些狹長條的算籌上,利用算籌的擺放來進行乘、除或其他運算。納皮爾算籌在很長一段時間里,是歐洲人主要的計算工具。算籌在使用中,一旦遇到復(fù)雜運算常弄得繁雜混亂,讓人感到不便,于是中國人又發(fā)明了一種新式的“計算機”。
著名作家謝爾頓在他的小說《假如明天來臨》里講過一個故事:騙子杰夫向經(jīng)銷商兜售一種袖珍計算機,說它“價格低廉,絕無故障,節(jié)約能源,十年中無需任何保養(yǎng)”。當(dāng)商人打開包裝盒一看,這臺“計算機”原來是一把來自中國的算盤。世界文明的四大發(fā)源地──黃河流域、印度河流域、尼羅河流域和幼發(fā)拉底河流域──先后都出現(xiàn)過不同形式的算盤,只有中國的珠算盤一直沿用至今。珠算盤最早可能萌芽于漢代,定型于南北朝。它利用進位制記數(shù),通過撥動算珠進行運算:上珠每珠當(dāng)五,下珠每珠當(dāng)一,每一檔可當(dāng)作一個數(shù)位。打算盤必須記住一套口訣,口訣相當(dāng)于算盤的“軟件”。算盤本身還可以存儲數(shù)字,使用起來的確很方便,它幫助中國古代數(shù)學(xué)家取得了不少重大的科技成果,在人類計算工具史上具有重要的地位。
15世紀以后,隨著天文、航海的發(fā)展,計算工作日趨繁重,迫切需要探求新的計算方法并改進計算工具。1630年,英國數(shù)學(xué)家奧特雷德使用當(dāng)時流行的對數(shù)刻度尺做乘法運算,突然萌生了一個念頭:若采用兩根相互滑動的對數(shù)刻度尺,不就省得用兩腳規(guī)度量長度嗎?他的這個設(shè)想導(dǎo)致了“機械化”計算尺的誕生。奧特雷德是理論數(shù)學(xué)家,對這個小小的計算尺并不在意,也沒有打算讓它流傳于世,此后二百年,他的發(fā)明未被實際運用。18世紀末,以發(fā)明蒸汽機聞名于世的瓦特,成功地制出了第一把名副其實的計算尺。瓦特原來就是一位儀表匠,他的蒸汽機工廠投產(chǎn)后,需要迅速計算蒸汽機的功率和氣缸體積。瓦特設(shè)計的計算尺,在尺座上多了一個滑標,用來“存儲”計算的中間結(jié)果,這種滑標很長時間一直被后人所沿用。
1850年以后,對數(shù)計算尺迅速發(fā)展,成了工程師們必不可少的隨身攜帶的“計算機”,直到20世紀五、六十年代,它仍然是代表工科大學(xué)生身份的一種標志。
凝聚著許許多多科學(xué)家和能工巧匠智慧的早期計算工具,在不同的歷史階段發(fā)揮過巨大作用,但也將隨著科學(xué)發(fā)展而逐漸消亡,最終完成它們的歷史使命。
第一臺真正的計算機是著名科學(xué)家帕斯卡(B.Pascal)發(fā)明的機械計算機。
帕斯卡1623年出生在法國一位數(shù)學(xué)家家庭,他三歲喪母,由擔(dān)任著稅務(wù)官的父親拉扯他長大成人。從小,他就顯示出對科學(xué)研究濃厚的興趣。
少年帕斯卡對他的父親一往情深,他每天都看著年邁的父親費力地計算稅率稅款,很想幫助做點事,可又怕父親不放心。于是,未來的科學(xué)家想到了為父親制做一臺可以計算稅款的機器。19歲那年,他發(fā)明了人類有史以來第一臺機械計算機。
帕斯卡的計算機是一種系列齒輪組成的裝置,外形像一個長方盒子,用兒童玩具那種鑰匙旋緊發(fā)條后才能轉(zhuǎn)動,只能夠做加法和減法。然而,即使只做加法,也有個“逢十進一”的進位問題。聰明的帕斯卡采用了一種小爪子式的棘輪裝置。當(dāng)定位齒輪朝9轉(zhuǎn)動時,棘爪便逐漸升高;一旦齒輪轉(zhuǎn)到0,棘爪就“咔嚓”一聲跌落下來,推動十位數(shù)的齒輪前進一檔。
帕斯卡發(fā)明成功后,一連制作了50臺這種被人稱為“帕斯卡加法器”的計算機,至少現(xiàn)在還有5臺保存著。比如,在法國巴黎工藝學(xué)校、英國倫敦科學(xué)博物館都可以看到帕斯卡計算機原型。據(jù)說在中國的故宮博物院,也保存著兩臺銅制的復(fù)制品,是當(dāng)年外國人送給慈僖太后的禮品,“老佛爺”哪里懂得它的奧妙,只把它當(dāng)成了西方的洋玩具,藏在深宮里面。
帕斯卡是真正的天才,他在諸多領(lǐng)域內(nèi)都有建樹。后人在介紹他時,說他是數(shù)學(xué)家、物理學(xué)家、哲學(xué)家、流體動力學(xué)家和概率論的創(chuàng)始人。凡是學(xué)過物理的人都知道一個關(guān)于液體壓強性質(zhì)的“帕斯卡定律”,這個定律就是他的偉大發(fā)現(xiàn)并以他的名字命名的。他甚至還是文學(xué)家,其文筆優(yōu)美的散文在法國極負盛名。可惜,長期從事艱苦的研究損害了他的健康,1662年英年早逝,死時年僅39歲。他留給了世人一句至理名言:“人好比是脆弱的蘆葦,但是他又是有思想的蘆葦。”
全世界“有思想的蘆葦”,尤其是計算機領(lǐng)域的后來者,都不會忘記帕斯卡在渾沌中點燃的亮光。1971年發(fā)明的一種程序設(shè)計語言──PASCAL語言,就是為了紀念這位先驅(qū),使帕斯卡的英名長留在電腦時代里。
帕斯卡逝世后不久,與法蘭西毗鄰的德國萊茵河畔,有位英俊的年輕人正挑燈夜讀。黎明時分,青年人站起身,揉了一下疲乏的腰部,臉上流露出會心的微笑,一個朦朧的設(shè)想已醞釀成熟。雖然在帕斯卡發(fā)明加法器的時候,他尚未出世,但這篇由帕斯卡親自撰寫的關(guān)于加法計算機的論文,卻使他似醍醐灌頂,勾起強烈的發(fā)明欲。他就是德國大數(shù)學(xué)家、被《不列顛百科全書》稱為“西方文明最偉大的人物之一”的萊布尼茨(G.Leibnitz)。
萊布尼茨早年歷經(jīng)坎坷。當(dāng)幸運之神降臨之時,他獲得了一次出使法國的機會。帕斯卡的故鄉(xiāng)張開臂膀接納他,為他實現(xiàn)計算機器的夙愿創(chuàng)造了契機。在巴黎,他聘請到一些著名機械專家和能工巧匠協(xié)助工作,終于在1674年造出一臺更完美的機械計算機。
萊布尼茨發(fā)明的新型計算機約有1米長,內(nèi)部安裝了一系列齒輪機構(gòu),除了體積較大之外,基本原理繼承于帕斯卡。不過,萊布尼茨技高一籌,他為計算機增添了一種名叫“步進輪”的裝置。步進輪是一個有9個齒的長圓柱體,9個齒依次分布于圓柱表面;旁邊另有個小齒輪可以沿著軸向移動,以便逐次與步進輪嚙合。每當(dāng)小齒輪轉(zhuǎn)動一圈,步進輪可根據(jù)它與小齒輪嚙合的齒數(shù),分別轉(zhuǎn)動1/10、2/10圈……,直到9/10圈,這樣一來,它就能夠連續(xù)重復(fù)地做加法。
稍熟悉電腦程序設(shè)計的人都知道,連續(xù)重復(fù)計算加法就是現(xiàn)代計算機做乘除運算采用的辦法。萊布尼茨的計算機,加、減、乘、除四則運算一應(yīng)俱全,也給其后風(fēng)靡一時的手搖計算機鋪平了道路。
不久,因獨立發(fā)明微積分而與牛頓齊名的萊布尼茨,又為計算機提出了“二進制”數(shù)的設(shè)計思路。有人說,他的想法來自于東方中國。
大約在公元1700年左右某天,友人送給他一幅從中國帶來圖畫,名稱叫做“八卦”,是宋朝人邵雍所摹繪的一張“易圖”。萊布尼茨用放大鏡仔細觀察八卦的每一卦象,發(fā)現(xiàn)它們都由陽(—)和陰(--)兩種符號組合而成。他撓有興趣地把8種卦象顛來倒去排列組合,腦海中突然火花一閃──這不就是很有規(guī)律的二進制數(shù)字嗎?若認為陽(—)是“1”,陰(--)是“0”,八卦恰好組成了二進制000到111共8個基本序數(shù)。正是在中國人睿智的啟迪下,萊布尼茨最終悟出了二進制數(shù)之真諦。雖然萊布尼茨設(shè)計的計算機用的還是十進制,但他率先系統(tǒng)提出了二進制數(shù)的運算法則,直到今天,二進制數(shù)仍然左右著現(xiàn)代電腦的高速運算。
帕斯卡的計算機經(jīng)由萊布尼茨的改進之后,人們又給它裝上電動機以驅(qū)動機器工作,成為名符其實的“電動計算機”,并且一直使用到本世紀20年代才退出舞臺。盡管帕斯卡與萊布尼茨的發(fā)明還不是現(xiàn)代意義上的計算機,但它們畢竟昭示著人類計算機史里的第一抹曙光。
要讓機器聽人類的話,按人類的意愿去計算,就要實現(xiàn)人與機器之間的對話,或者說,要把人類的思想傳送給機器,讓機器按人的意志自動執(zhí)行。
說來也怪,實現(xiàn)人與機器對話的始作俑者卻不是研制計算機的那些前輩,而是與計算機發(fā)明毫不相干的兩位法國紡織機械師。他們先后發(fā)明了一種指揮機器工作的“程序”,把思想直接“注入”到了提花編織機的針尖上。
顧名思義,提花編織機具有升降紗線的提花裝置,是一種能使綢布編織出圖案花紋的織布機器。
應(yīng)該是,提花編織機最早出現(xiàn)在中國。在我國出土的戰(zhàn)國時代墓葬物品中,就有許多用彩色絲線編織的漂亮花布。據(jù)史書記載,西漢年間,鉅鹿縣紡織工匠陳寶光的妻子,能熟練地掌握提花機操作技術(shù),她的機器配置了120根經(jīng)線,平均60天即可織成一匹花布,每匹價值萬錢。明朝刻印的《天工開物》一書中,還赫然地印著一幅提花機的示意圖??梢韵胂螅?dāng)歐洲的王公貴族對從“絲綢之路”傳入的美麗綢緞贊嘆不已時,中國的提花機也必定會沿著“絲綢之路”傳入歐洲。
不過,用當(dāng)時的編織機編織圖案相當(dāng)費事。所有的綢布都是用經(jīng)線(縱向線)和緯線(橫向線)編織而成。若要織出花樣,織工們必須細心地按照預(yù)先設(shè)計的圖案,在適當(dāng)位置“提”起一部分經(jīng)線,以便讓滑梭牽引著不同顏色的緯線通過。機器當(dāng)然不可能自己“想”到該在何處提線,只能靠人手“提”起一根又一根經(jīng)線,不厭其煩地重復(fù)這種操作。
1725年,法國紡織機械師布喬(B.Bouchon)突發(fā)奇想,想出了一個“穿孔紙帶”的絕妙主意。布喬首先設(shè)法用一排編織針控制所有的經(jīng)線運動,然后取來一卷紙帶,根據(jù)圖案打出一排排小孔,并把它壓在編織針上。啟動機器后,正對著小孔的編織針能穿過去鉤起經(jīng)線,其他的針則被紙帶擋住不動。這樣一來,編織針就自動按照預(yù)先設(shè)計的圖案去挑選經(jīng)線,布喬的“思想”于是“傳遞”給了編織機,而編織圖案的“程序”也就“儲存”在穿孔紙帶的小孔之中。真正成功的改進是在80年后,另一位法國機械師杰卡德(J.Jacquard),大約在1805年完成了“自動提花編織機”的設(shè)計制作。
那是舉世矚目的法國大革命的年代──攻打巴士底獄,推翻封建王朝,武裝保衛(wèi)巴黎,市民們高唱著“馬賽曲”,紛紛走上街頭,革命風(fēng)暴如火如荼。雖然杰卡德在1790年就基本形成了他的提花機設(shè)計構(gòu)想,但為了參加革命,他無暇顧及發(fā)明創(chuàng)造,也扛起來福槍,投身到里昂保衛(wèi)戰(zhàn)的行列里。直到19世紀到來之后,杰卡德的機器才得以組裝完成。
杰卡德為他的提花機增加了一種裝置,能夠同時操縱1200個編織針,控制圖案的穿孔紙帶后來也換成了穿孔卡片。據(jù)說,杰卡德編織機面世后僅25年,考文垂附近的鄉(xiāng)村里就有了600臺,在老式蒸氣機噗嗤噗嗤的伴奏下,把穿孔卡片上的圖案變成一匹匹漂亮的花綢布。紡織工人最初強烈反對這架自動化的新鮮玩意的到來,因為害怕機器會搶去他們的飯碗,使他們失去工作,但因為它優(yōu)越的性能,終于被人們普遍接受。1812年,僅在法國已經(jīng)裝配了萬余臺,并通過英國傳遍了西方世界,杰卡德也因此而被受予了榮譽軍團十字勛章和金質(zhì)獎?wù)隆?
杰卡德提花編織機奏響了19世紀機器自動化的序曲。在倫敦出版的《不列顛百科全書》和中國出版的《英漢科技詞匯大全》兩部書中,“JACQUARD”(杰卡德)一詞的詞條下,英語和漢語的意思居然都是“提花機”,可見,杰卡德的名字已經(jīng)與提花機融為了一體。杰卡德提花機的原理,即使到了電腦時代的今天,依然沒有更大的改動,街頭巷尾小作坊里使用的手工絨線編織機,其基本結(jié)構(gòu)仍與杰卡德編織機大體相似。