康拉德·楚澤

這些在1937年湧現的計算機先驅們都不知道的是,他們的工作成果竟然不如一位在父母家中做研究的德國工程師。康拉德·楚澤(Konrad Zuse)當時正在進行一台能夠從打孔紙帶讀取指令的二進制計算器的原型設計。這台機器先後經過了多次改進,不過它的第一個版本「Z1」只是一台機械機器,它並非使用電力驅動,也不含有任何電子元件。

跟許多數字時代的先驅一樣,楚澤從小就對藝術和工程學非常感興趣。從工程學院畢業之後,他得到了一份應力分析員的工作,在柏林的一家飛機製造公司上班,他的工作內容是求解含有材料負載、強度和彈性等係數的線性方程。即使在機械計算器的幫助之下,一個人也幾乎不可能在一天之內解出含有6個未知數的聯立線性方程。如果線性方程的變量達到25個的話,求解過程將需要一年的時間。因此楚澤非常希望可以將數學方程的冗長求解過程機械化,很多先進的計算設備都是在這個願望的驅使下發明的。他當時住在父母的家中——位於柏林滕佩爾霍夫機場附近的一所公寓,並把他們的起居室改裝成自己的工作室。25

在楚澤製造的第一台計算機中,二進制數會被儲存在多塊佈滿插槽和插針的薄鋼板當中,這個裝置是由楚澤和他的朋友們使用線鋸做出來的。他最初是使用打孔紙帶來輸入數據和程序,不過他很快就改用了廢棄的35毫米電影膠片,因為這種材料不僅強度更高,而且成本也比紙張更低。這台Z1計算機在1938年製成,它可以用於解決部分數學問題,但是它的運作過程不太可靠。這台機器的所有零件都是手工製造的,所以它們很容易會出現故障。遺憾的是楚澤沒有在貝爾實驗室這樣的地方工作,也沒有參與到哈佛大學和IBM這樣的合作項目當中,不然他就可以在其他工程師的協助下更好地發揮出自己的才能。

然而,Z1計算機確實證明了楚澤設計的邏輯概念在理論上是可行的。楚澤在製造Z1的過程中得到了大學校友赫爾穆特·施萊爾(Helmut Schreyer)的幫助,後者強烈建議他們應該製造另外一台使用電子真空管取代機械開關的計算機。如果他們馬上這樣做的話,那麼他們將會成為歷史上第一台可行的現代計算機(二進制、電子化和可編程的計算機)的發明者。但是在咨詢過工程學院的專家之後,楚澤發現自己無法承受一台含有接近2 000個真空管的設備的製造成本。26

於是在製造Z2計算機的時候,他們決定使用從電話公司收購回來的二手機電繼電器開關,雖然它們的運行速度遠遠比不上真空管,但是更為耐用和廉價。他們最終製造了一台使用繼電器作為運算器的計算機。但是它仍然採用了機械存儲器,也就是帶有活動插針的薄鋼板。

楚澤在1939年開始研製自己的第三台計算機Z3,這台機器的運算器、存儲器和控制器都採用了機電繼電器。Z3計算機在1941年製造完成,它是第一台完全可行的通用可編程數字計算機。雖然它無法直接處理程序中的條件轉移,但是它在理論上可以實現一台通用圖靈機的功能。它與後來的計算機的主要區別在於它使用的是笨重的電磁繼電器,而不是像真空管和晶體管這樣的電子元件。

楚澤的好友施萊爾隨後寫了一篇題為《電子管繼電器及其開關技術》的博士論文,他在論文中提倡使用真空管來製造快速高效的計算機。但當他和楚澤在1942年向德國陸軍提出這個想法時,高級軍官們表示他們有信心在兩年之內打贏這場戰爭,所以就沒有必要花同樣的時間製造一台用不上的機器。27 與計算機相比,他們對製造兵器更感興趣。於是楚澤被迫離開了計算機的研究工作,重新回到了飛機製造的崗位。1943年,盟軍對柏林實施空襲,楚譯的計算機和設計手稿都在這場空襲當中被炸毀了。

雖然楚澤和斯蒂比茲的研究工作是互相獨立的,但他們都想出了採用繼電器開關來製作可以處理二進制計算的電路。在戰爭的隔絕之下,為什麼這兩個團隊會在同一時間出現這個想法呢?有一部分原因是技術和理論的進步造就了成熟的時機。跟許多創新者一樣,楚澤和斯蒂比茲都對繼電器在電話電路中的應用非常熟悉,而將這種應用結合到數學和邏輯學的二進制運算也是順理成章的事情。同樣對電話電路瞭如指掌的香農也做出了一項相關的理論突破,就是電子電路能夠執行布爾代數中的邏輯任務。不久後,世界各地的研究人員都開始認識到數字電路將會成為計算技術的關鍵,這種想法甚至深入到了艾奧瓦州中部這樣偏僻的地區。

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