約翰·文森特·阿塔納索夫

在一個遠離楚澤和斯蒂比茲的地方,另外一位發明者也在1937年使用電子電路做實驗。在艾奧瓦州的一個地下室中,他正在埋頭進行下一項歷史性的發明:一台部分使用真空管製成的計算設備。這台機器在某些方面不如同一時期的其他計算機先進:它既不能進行編程,也無法實現多種功能。他在機器中加入了一些運行緩慢的機械活動元件,所以它也不是一台完全電子化的設備。儘管他製造出了一個在理論上可用的模型,不過他無法使它完全可靠地運行。但無論如何,約翰·文森特·阿塔納索夫(John Vincent Atanosoff,他的妻子和朋友們都叫他「文森特」)仍然應該得到這個稱號——構想出第一台部分電子化的數字計算機的先驅。這個想法是他在1937年12月的一個晚上的長途駕駛途中突然出現的。28

阿塔納索夫出生於1903年,他是家中7個孩子的老大。他的父親是一位來自保加利亞的移民,母親是新英格蘭地區一個最為古老的家族的後代。他父親先在新澤西州一家由托馬斯·愛迪生開辦的發電站擔任工程師,後來舉家搬到了佛羅里達州坦帕市南邊的一個郊區小鎮上。在9歲的時候,文森特已經可以幫助父親安裝新居的電線,之後他父親送了一把計算尺給他。「那把計算尺是我的最愛。」他回憶道。29 他從小開始學習對數,他在回憶錄中對此進行了鄭重的描述,但他的學習興趣還是顯得有點與眾不同:「你能想像一個滿腦子想著打棒球的小男孩會被這種知識改變嗎?在嚴格的對數學習面前,棒球的吸引力就幾乎變為零了。」他在那年夏天就已經計算出了以e為底5的對數,後來在母親的幫助下(她曾經是一位數學教師),他在讀初中的時候就已經學會了微積分。身為電氣工程師的父親還帶他去參觀了自己工作的磷酸鹽工廠,並向他展示了發電機的工作原理。青年時期的文森特性格謙遜,富有創意,而且才智過人,他在兩年之內就完成了高中的課程,而且在雙倍的課程負擔下仍然拿到了全「A」的畢業成績。

他隨後進入了佛羅里達大學學習電氣工程專業。他在大學期間更加傾向於動手實踐,經常出沒於大學的機械車間和鑄造廠。他同時還保持了對數學的熱愛,他在大一的時候就學習了一種涉及二進制算法的證明法。聰明、自信的阿塔納索夫以當時最高的平均績點獲得學士學位。他接受了艾奧瓦大學提供的獎學金,前往那裡攻讀數學和物理學的碩士學位,儘管他後來也被哈佛大學錄取了,但他還是堅持了自己的決定,毅然前往位於玉米種植帶的埃姆斯市繼續深造。

在碩士畢業之後,阿塔納索夫轉入威斯康星大學繼續攻讀物理學博士學位。從巴貝奇開始,許多計算機先驅都遇到過同樣的問題,阿塔納索夫也不例外,他在研究氦氣在電場中的極化方式時需要進行大量複雜的計算。在使用桌面加法機艱難地完成這些計算工作的過程中,他開始醞釀發明一台更強大的計算器的想法。1930年,他回到艾奧瓦州州立大學擔任助理教授,這時他確信自己在電氣工程學、數學和物理學方面的水平已經足以讓他勝任這項發明工作。

他沒有選擇留在威斯康星大學,也沒有進入哈佛大學或者其他同等水平的大型研究性大學,這些決定將對他的研究工作產生不利的影響。在艾奧瓦州州立大學,沒有其他人研究製作新型計算器的方式,所以阿塔納索夫只能孤軍作戰。他有時確實能提出一些新的想法,但是苦於身邊沒有人可以跟他交流或者幫助他克服理論和工程上的瓶頸。跟數字時代的大部分創新者都不一樣的是,他是一個孤獨的發明者。他只能在獨自駕車的路上或者和一位研究生助理的討論中獲得靈感。這點最終被證明是他在研究工作上的阻礙。

阿塔納索夫最初的想法是製造一台模擬設備。由於他非常喜歡計算尺的設計,所以他先嘗試了使用長膠捲來製作一把超大型的計算尺。但是他發現如果要達到求解線性代數方程所需的精度,這把計算尺將需要使用長達數百碼的膠卷。他還製作了一個用於切割石蠟堆的裝置,它可以通過這種方式來計算偏微分方程。這些模擬設備的種種限制讓他不得不將注意力轉向數字設備的製作。

他首先著手解決的問題是如何在機器中儲存數字。他採用了「記憶」(memory)一詞來描述這個功能:「當時我對巴貝奇的工作只有粗略的瞭解,所以我不知道他將同樣的概念稱為『倉庫』(store)……我喜歡他的用詞,如果我當時知道的話,也許我也會採用這個名稱;不過我也喜歡『記憶』這個詞,因為它將這項功能比喻成人的大腦。」30

阿塔納索夫仔細篩選了一系列可能用作存儲器的元件:機械插針、電磁繼電器、可以被電荷極化的小塊磁性材料、真空管以及一種小型的電容器(condenser)。其中速度最快的是真空管,但是它的價格太高了。所以他最後選擇了電容器,這種元件具有體積較小和價格低廉的特點,而且能夠短暫地儲存電荷。這是一個可以理解的決定,但是使用電容器製成的機器會比較緩慢和笨重。雖然它在計算加法和減法時可以達到電子元件的速度,但是存儲器存取數字時的速度將會下降至機械鼓輪的水平。

在確定了存儲器使用的元件之後,阿塔納索夫開始將注意力轉向算術邏輯單元的製作,他將這個部分稱為「計算機構」(computing mechanism)。他認為這個元件應該完全電子化,也就是需要使用價格昂貴的真空管。這些真空管將會起到通斷開關的作用,在電路中實現邏輯門的功能,其中包括加法、減法和任意的布爾運算。

喬治·斯蒂比茲(1904—1995),照片約攝於1945年

康拉德·楚澤(1910——1995)與Z4計算機,照片攝於1944年

約翰·阿塔納索夫(1903——1995)在艾奧瓦州州立大學,照片約攝於1940年

阿塔納索夫計算機的複製品

接下來出現了一個他從小就喜歡探究的數學理論問題:他應該在這台機器中採用什麼數字系統呢?十進制、二進制,還是其他的進位制?作為數字系統的狂熱愛好者,阿塔納索夫研究過多種不同的選擇。「百進制一度被認為是比較有希望的數字系統,」他在一篇未發表的論文中寫道,「在同樣的計算下,以自然底數e為基礎的進位制在理論上可以實現最快的計算速度。」31 但是為了在理論與實際之間取得平衡,他最終決定採用二進制系統。到了1937年年底,他的腦海中充斥著許多不同的想法——各種各樣的概念就像是「大雜燴」一樣無法「融合」在一起。

阿塔納索夫是個愛車之人,如果可以的話,他希望每年都買一輛新車。1937年12月,他新買了一輛配備強力V8發動機的福特轎車。他在一天深夜開著這輛新車外出散心,而這段路程將會成為計算機歷史上的一個重要節點。

在1937年冬天的一個晚上,長時間的計算機研究工作已經使我的身心不堪重負。於是我開著自己的汽車,在路上高速行駛了很長一段時間,這樣可以幫助我控制自己的情緒。我平常喜歡像這樣駕車兜兜風:我可以通過專心駕駛來調節自己。不過那天晚上我感到壓力特別大,所以我一路開過了密西西比河。到我停下來的時候,車子已經駛入了伊利諾伊州境內,那裡距離我的出發點已有189英里的路程。32

他把車子駛離了公路,在一家路邊的酒館停了下來。伊利諾伊州跟艾奧瓦州不一樣,他至少可以在這裡輕易地找到喝一杯的地方。他給自己點了一杯波本威士忌蘇打,喝完之後又再點了一杯。「我覺得自己沒有那麼焦慮了,而且我的思路開始重新進入計算機器的問題上,」他回憶道,「我不知道為什麼之前沒有想通的東西突然之間豁然開朗,我只是覺得自己進入了一種忘我的狀態,周圍也變得很安靜。」酒館女侍應的服務不甚周到,因此阿塔納索夫可以在不被打擾的情況下繼續研究他的問題。33

他在一張餐巾紙上寫下了自己的想法,然後開始整理一些實際問題的思路。其中最重要的是如何補充電容器中的電荷,否則它們的電量將會在一到兩分鐘之內耗盡。他想到的方法是將電容器裝在旋轉的圓柱形鼓輪裡面,這種鼓輪的大小相當於46盎司V8蔬菜汁的罐子。在鼓輪旋轉的過程中,電容器會以每秒一次的頻率與電線做成的刷子進行接觸,這個過程可以恢復電容器內部的電荷。「在酒館度過的那個晚上,我思考了製作再生式存儲器的可能性,」他表示,「我當時將這個過程稱為『喚起』(jogging)。」圓柱鼓輪每轉動一圈,電線就會喚起電容器的「記憶」,然後在有必要的時候從電容器提取數據,並保存新的數據。他還想出了一種構造,它可以從兩個不同的電容器鼓輪提取數字,然後使用真空管電路對它們進行加減計算,最後將結果放回存儲器中。在經過了數個小時的思考之後,他回憶道:「我開始駕車回家,我在這段路上放慢了車速。」34

1939年5月,阿塔納索夫已經準備好開始製造一台原型機器。他需要一位助手,最好是一位擁有工程學經驗的研究生。一天,大學裡的一位同事告訴他:「我知道一位你要找的人。」這個人叫作克利福德·貝瑞(Clifford Berry),他的父親也是一位自學成才的電氣工程師。阿塔納索夫和貝瑞很快就建立了合作關係。35

這台機器的設計和製造都是圍繞一個目的展開的:求解聯立線性方程。它可以處理多達29個方程變量。在每個計算步驟中,阿塔納索夫的機器都可以處理兩個方程並消去其中一個變量,然後將計算得出的方程打印在8×11格的二進制打孔卡片上。記錄了經過簡化的方程的卡片會被重新輸入機器,進行新一輪的計算並消去另外一個變量。這個過程需要相當長的一段時間。這台機器(如果不出故障的話)需要花費幾乎一個星期的時間才能計算出含有29個方程的方程組。不過人工使用桌面計算器計算同樣的方程組則需要10個星期的時間。

為了籌集製造一台完整機器所需的資金,阿塔納索夫在1939年年底展示了一台原型機,並使用複寫紙寫出了幾份長達35頁的計劃書。「本文的主要目的是描述和說明一台計算機器,它的主要設計用途是求解大型線性代數方程組。」他在計劃書的開頭寫道。就像是為了給這台只能實現有限功能的大型機器辯護一樣,阿塔納索夫詳細列出了求解這種方程所需解決的問題:「曲線擬合……振動問題……電路分析……彈性結構。」他在計劃書的結尾給出了一份詳盡的預計製造成本清單,成本總額高達5 330美元。他最終通過一家私有基金籌集到了這筆資金。36 隨後阿塔納索夫把計劃書的一份副本寄給了芝加哥的一位專利代理律師,然而這位受雇於艾奧瓦州州立大學的律師一直沒有提交這份專利申請,他的玩忽職守導致了一段長達數十年的歷史和法律爭議。

1942年9月,阿塔納索夫的完整機器已經接近製造完成。它的大小相當於一張書桌,內部含有接近300個真空管。不過它有一個無法解決的問題:它本來是利用火花來燒出打孔卡片上的孔洞的,但是這個機制一直無法正常運作,而且艾奧瓦州州立大學也沒有能夠幫助解決這個問題的機械師和工程師團隊。

就在這個時候,他的計算機研究工作中斷了:為了響應美國海軍的徵召,阿塔納索夫加入了位於華盛頓特區的海軍裝備實驗室。他在那裡負責聲波水雷的研究,後來又參與了在比基尼環礁進行的原子彈試驗。儘管他的研究重點從計算機轉向了軍械工程,但他仍然是一個發明家,他在服役期間獲得了30項專利,其中包括一台掃雷設備。但是他在芝加哥聘用的律師卻一直沒有為他的計算機申請專利。

阿塔納索夫的計算機本來應當是一個重要的里程碑,但它最終還是淪為了歷史的塵埃——無論從字面意義還是寓意上來說都是如此。這台幾乎可以正常運行的機器被存放在艾奧瓦州州立大學物理系教學樓的地下室中,但是幾年過後,似乎已經沒有人記得這台機器是用來做什麼的了。到了1948年,當學校需要空出這塊場地另作他用時,一位不知情的研究生就把它拆卸了,並丟棄了大部分被拆下的零件。37 於是,許多早期寫成的計算機發展史甚至都沒有提及阿塔納索夫的名字。

即使這台機器可以正常運作,但它還是存在一些限制。它採用的真空管電路可以飛快地完成計算,但是機械驅動的存儲器卻將整體的處理速度大幅拉低了。在打孔卡片上燒出孔洞也是非常低效的做法,更何況這種方式本來就難以實現。如果要做到真正的快速運算,現代計算機必須實現完全電子化,不能只採用部分電子元件。另外,阿塔納索夫的機器也不能進行編程,它只適用於完成一項任務:求解線性方程。

阿塔納索夫的傳奇故事一直為人津津樂道的地方在於,他是一位在地下室中工作的孤獨匠人,在他身邊只有一位年輕助手克利福德·貝瑞的陪伴。然而,他的故事正是我們不應該傳奇化這種孤獨者的明證。正如在自己的小型工坊埋頭苦幹的巴貝奇,同樣只有一位助手的阿塔納索夫也從來沒有造出過一台完全可行的機器。如果他在貝爾實驗室,他身邊就會有一大群可以為他提供幫助的技術人員、工程師和修理工;或者如果身處一所大型的研究性大學,他也很有可能找出解決機器的讀卡器和其他難題的方法。再者,當他在1942年被徵召進入海軍服役時,學校裡面也應該留有團隊成員繼續完善這台機器,他們至少可以記得這台機器的用途。

阿塔納索夫本來應該是一個會被歷史遺忘的人物,但諷刺的是,最終讓他免於成為歷史註腳的卻是一個讓他憤憤不平的事件。他在1941年6月接待了一位訪客,跟孤軍奮戰的阿塔納索夫不一樣,這位訪客喜歡到處訪問,他能夠將自己瞭解到的想法融會貫通,然後與其他人一起合作研究。約翰·莫奇利(John Mauchly)的艾奧瓦州之旅引出了後來的一系列代價高昂的法律訴訟、嚴厲的指責和相持不下的歷史爭論。但是這個事件也讓阿塔納索夫得到了應得的名譽,同時推動了計算機歷史的發展。

《創新者:一群技術狂人和鬼才程序員如何改變世界》