數字技術擊敗模擬技術

霍爾瑞斯和巴貝奇設計的機器是數字化的,也就是說它們會使用數字進行計算,這裡的數字指的是像0、1、2、3這種獨立和明確的整數。在他們的機器中,這些整數的加減是通過齒輪上的數字切換來實現的,就像是計數器一樣。另外一種可以實現計算的方式是製造出可以模仿或將物理現象模型化的設備,然後根據在模型上的測量結果進行計算。這種機器被稱為模擬(analog)計算機,因為它們是通過模擬的方式來工作的。模擬計算機無須依賴獨立的整數進行計算;相反,它們使用的是連續函數。在模擬計算機中,電壓、繩子在滑輪上的位置、水壓或者距離這樣的變量會被用於模擬求解問題中的對應量。例如,計算尺是模擬的,算盤是數字的;帶有指針的鐘錶是模擬的,顯示數字的鐘錶是數字的。

大約在霍爾瑞斯製造出他的數字製表機的時候,英國歷史上兩位傑出的科學家——凱爾文勳爵(Lord Kelvin)和他的哥哥詹姆斯·湯姆森(James Thomson)正在設計一台模擬機器。這是一台專門用於處理冗長乏味的微分方程求解的機器,它可以幫助製作潮汐表,以及記錄炮彈發射角對應彈道的表格。19世紀70年代初,這對兄弟製成了一台以求積儀為基礎的設備,這個工具可以用於測量二維圖形的面積,例如在紙上的一條曲線下方的面積。操作者可以通過描繪曲線的輪廓來計算出對應的面積,在這個過程中,設備上的小圓球會在一個旋轉的大圓盤表面緩慢移動。因為它可以計算出曲線下方的面積,所以它可以通過積分的方式實現方程求解——換句話說,它可以進行基礎的微積分計算。凱爾文和他哥哥利用這種方法製作出了一台「調和推算機」(harmonic synthesizer),它可以在四個小時之內計算出一張年度潮汐表。然而,他們一直無法將多台這樣的設備連接在一起求解帶有多個變量的方程,因為這樣做會帶來一些難以克服的機械難題。

連接多台積分設備的難題直到1931年才得以解決。當時麻省理工學院的工程學教授萬尼瓦爾·布什(Vannevar Bush,請記住這個名字,因為他是本書的一位關鍵人物)建造出了世界上第一台模擬電子機械計算機。他將這台機器稱為微分分析機(Differential Analyzer)。它由六檯球盤積分儀(類似於凱爾文勳爵發明的機器)組合而成,它們之間通過一系列的傳動裝置、滑輪和轉軸連接起來,並使用電動馬達提供動力。布什所在的麻省理工學院為他提供了很多幫助,因為學院有很多懂得組裝和調校複雜裝置的人才。最終建成的機器有一間小型臥室那麼大,可以解出最多含有18個獨立變量的方程。在接下來的10年時間,布什的微分分析機被複製成了多個版本,它們分別位於馬里蘭州的美國陸軍阿伯丁試驗場、賓夕法尼亞大學摩爾電氣工程學院,以及英國的曼徹斯特大學和劍橋大學。事實證明,這些機器非常適合用於製作彈道表——以及訓練和啟發下一代的計算機先驅。

然而,布什的機器注定不會成為計算機歷史上的一項重大進展,因為它是一台模擬設備。實際上,它成了模擬計算的最後一次掙扎,這種情況至少持續了幾十年的時間。

新的方法、技術和理論開始在1937年湧現,這剛好是巴貝奇首次發表分析機論文之後的第一百年。這是計算機時代充滿奇跡的一年,這一年取得的成果體現為計算機的四個特性,它們之間互有關聯,而且對現代計算起到了決定性的作用。

數字化。 計算機革命的一個根本特徵是以數字計算而非模擬計算為基礎。我們很快可以看到造成這種情況的具體原因,其中邏輯理論、電路和電子通斷開關的同時發展使得數字操作成為比模擬操作更為高效的方式。計算機科學家直到21世紀初才開始尋求模擬人類的大腦,這是模擬計算研究真正得到復甦的標誌。

二進制。 除了數字化以外,現代計算機還採用了二進制的數字系統。二進制指的是只使用0和1來表示數字,而不像我們常用的十進制那樣使用十個數字。跟許多數學概念一樣,二進制的理論也是由萊布尼茨在17世紀後期首先提出的。到了20世紀40年代,二進制的優勢開始變得越來越明顯,特別是對由通斷開關組成的電路進行邏輯操作的時候,二進制的實用性要高於包括十進制在內的其他數字形式。

電子化。 20世紀30年代中期,英國工程師湯米·弗勞爾斯(Tommy Flowers)率先將真空管用作電子電路的通斷開關。在此之前,電路一直都使用機械開關和機電開關,例如電話公司使用的嗒嗒作響的電磁繼電器。真空管之前的主要用途是放大信號,而不是作為通斷開關使用。在使用了真空管以及後來的晶體管和微型芯片之後,計算機的運行速度可以比使用機電開關的機器高出幾千倍。

通用性。 最後,計算機將有能力根據不同的目的進行編程和重新編程(甚至是自動重新編程)。它們不僅可以解決單個形式的數學計算(例如微分方程),還可以執行各種各樣的任務和符號處理,包括文字、音樂、圖片和數字。這正好實現了洛夫萊斯夫人在描述巴貝奇分析機時所構想的能力。

創新的出現總是水到渠成的。在1937年發生的重大進步並非只有單方面的原因,而是在多個地方同時出現的能力、思想和需求相互碰撞的結果。歷史上的重大發明通常都是在正確的時機和合適的環境下誕生的,信息技術的發明更是如此。真空管在無線電工業中的發展為電子數字電路的誕生鋪平了道路,同時邏輯學的理論發展也提升了電路的實用性。戰爭的威脅進一步加快了計算機技術發展的步伐。隨著各個國家都開始為一觸即發的大戰做準備,計算能力的重要性儼然已經與軍備的火力相當。互相促進的技術發展幾乎在同一時間自發地出現在各個地方,比如哈佛大學、麻省理工學院、普林斯頓大學、貝爾實驗室以及位於柏林的一座公寓,還有一個地方也許不是最有可能出現創新的,但它卻是最為有趣的——位於艾奧瓦州埃姆斯市的一個地下室。

為這些技術進步提供支撐的是在數學領域出現的一些精彩的(埃達也許會將其稱為詩意的)飛躍。其中一項飛躍促進了「通用計算機」(universal computer)概念的正式形成,這是一種可以通過編程進行任何邏輯任務的機器,並且可以模擬任何邏輯機器的行為。這個概念是在一位傑出的英國數學家的思維實驗當中誕生的,而這位數學家的人生經歷既鼓舞人心,又令人唏噓不已。

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