本文發表於《大眾科學》的前部落格網路,反映了作者的觀點,不一定反映《大眾科學》的觀點
今天是艾達·洛夫萊斯日。
如果您不是我的另一個部落格的常客,您可能不知道我是一個十足的盧德分子。我更喜歡手繪的直方圖和流程圖,而不是任何我可以用圖形程式製作的東西。我更喜歡LP唱片而不是CD。(什麼是LP唱片?問問你的祖父母。)我發現使用對數表(而且我知道如何插值)令人感到平靜。我寧願使用螺旋裝訂的街道地圖冊,而不是Google來尋找方向。
顯然,我作為盧德分子的身份不應被理解為我反對所有全面的技術進步(就像我現在這樣,在電腦上打字,準備一篇將使用網際網路上的部落格軟體釋出的帖子)。相反,我對那些似乎在沒有過多思考它們如何影響與它們互動的使用者體驗的技術進步持懷疑態度,並且對那些需要我投入大量時間學習新命令或操作說明,但與我從我已知的技術中獲得的結果相比,最多隻能產生邊際改進的“改進”持懷疑態度。
關於支援科學新聞業
如果您喜歡這篇文章,請考慮透過以下方式支援我們屢獲殊榮的新聞業: 訂閱。透過購買訂閱,您正在幫助確保關於塑造我們當今世界的發現和思想的具有影響力的故事的未來。
也就是說,我個人的傾向是將技術視為工具,而不是目的本身,根據它們如何部署,可以改善我們的生活,也可能使我們的生活更加艱難。
最初的盧德分子是19世紀早期英格蘭工人運動的一部分。這些盧德分子反對的技術包括機械針織機和織布機,這些機器將紡織品生產從熟練的針織工和織布工手中轉移到相對不熟練的勞動力來照看機器。在當前的經濟環境下,不難看出盧德分子擔心的是什麼:即使工業革命技術沒有導致工作崗位總數減少(因為你需要工人來照看機器),也沒有理由假設紡織廠的所有者會有興趣再培訓已經存在的熟練針織工和織布工來成為機器看護工。當你的工作消失時,工作崗位數量的淨穩定(甚至增加)可能是一種冷冰冰的安慰。
因此,盧德分子砸毀了織布機,實施了其他工業破壞行為,受到政府軍隊的騷擾,在《破壞框架法案》通過後,他們的一些人因破壞機器而被處決(另一些人被流放到澳大利亞),他們還刺殺了一位工廠主,然後作為一個運動幾乎消失了。
在《破壞框架法案》透過之前,一位上議院議員強烈反對對破壞框架者處以死刑,他向上議院發表了一篇戲劇性的演講,“充滿了對自動化的‘好處’的諷刺,他認為自動化生產劣質材料並使人們失業。”那位議會議員是喬治·戈登·拜倫,拜倫勳爵,碰巧的是,他也是艾達·洛夫萊斯的父親。
艾達·洛夫萊斯通常被譽為世界上第一位計算機程式設計師。所說的計算機是查爾斯·巴貝奇的分析機——巴貝奇提出但從未實際建造的機器。因此,洛夫萊斯的成就需要一些解釋
在1842-43年的九個月期間,洛夫萊斯翻譯了義大利數學家路易吉·梅納佈雷亞[用法語撰寫]關於巴貝奇最新提出的機器——分析機的回憶錄。在這篇文章中,她附上了一組註釋。這些註釋比回憶錄本身還要長,其中包括(G節)用發動機計算伯努利數的方法的完整細節,這被歷史學家認為是世界上第一個計算機程式。傳記作者們爭論她原始貢獻的程度,有些人認為這些程式是巴貝奇本人編寫的。巴貝奇在他的《哲學家的生活片段》(1846)中就此主題寫道:
然後我建議她在梅納佈雷亞的回憶錄中新增一些註釋,這個想法立即被採納了。我們一起討論了可能引入的各種插圖:我提出了一些建議,但選擇完全是她自己的。不同問題的代數運算也是如此,但實際上,與伯努利數有關的問題除外,我曾主動提出做這件事以節省洛夫萊斯夫人的麻煩。她把這個送回給我修改,因為她發現我在過程中犯了一個嚴重的錯誤。
洛夫萊斯對巴貝奇引擎的影響程度是一個爭論的話題。由於查爾斯·巴貝奇傾向於不承認(無論是口頭還是書面)其他人在他工作中的影響,因此這場辯論很難解決。洛夫萊斯無疑是少數幾個完全理解巴貝奇的想法併為分析機建立程式的人之一。如果分析機真的被建造出來,她的程式將能夠計算伯努利數序列。基於這項工作,洛夫萊斯現在被廣泛認為是第一位計算機程式設計師。洛夫萊斯的散文也承認了該機器的一些可能性,而巴貝奇從未發表過這些可能性,例如推測“該引擎可能會創作任何複雜程度或範圍的精細而科學的音樂作品”。
對於那些傾向於將G節中的計算機程式歸功於巴貝奇而不是洛夫萊斯的人來說,洛夫萊斯仍然無可爭議地是世界上第一位除錯員。
如果分析機被建造出來,計劃是用與執行機械織布機相同型別的穿孔卡片來輸入資料。即使洛夫萊斯從未認識她的父親(她的父親忙於做壞事、發瘋和危險的事情),但試圖調和為盧德分子辯護的父親與為我們的計算機時代奠定重要基礎的女兒,這真是令人好奇。可以說,計算機已經帶來了超過工廠機械化所帶來的社會經濟變革。
不過,我認為洛夫萊斯所做的事情非常酷。
一方面,她開發的用於使用計算機器(一種已被描述但尚未建造的機器)進行復雜計算的程式,是對可能性的精美而具體的演示。她的程式規劃了巴貝奇提出的機器如何投入實際使用。換句話說,洛夫萊斯的工作表明,機械計算機不僅僅是一件很酷的東西,而是一種可以“融入”某種知識勞動者的工作和世界的技術。與此同時,在巴貝奇提出的那種機械計算機成為現實之前,人們實際上不得不手工進行計算。
雖然洛夫萊斯和巴貝奇是重大技術飛躍的智力教母和教父,但他們的工作所推動的轉變在某種程度上感覺與最初的盧德分子譴責的紡織品生產工業化不同。針織機表面上看可以使熟練的人工針織工過時。另一方面,機械計算機並沒有那麼明顯地使現有的人工計算機勞動力過時。雖然複雜的數學計算的機械化從原本可能用鉛筆和紙進行計算的人類那裡移除了一定程度的智力苦力,但這些智力能量可能會被導向其他相關問題(包括制定導致新計算的新想法,或從計算結果中得出結論)。此外,計算的機械化本身就產生了對一種新型智力工作的需求——設計計算機器執行計算的指令。
現在,編寫計算機程式碼可能在許多人看來是智力苦差事。這對我來說有點不可思議,因為我小時候學習程式設計(使用BASIC和Commodore 'Teacher's Pet')的經歷打開了一個引人入勝的問題解決世界,感覺就像玩耍一樣。我不得不相信,程式碼民工的苦差事更多地與工作場所的性質有關,而不是與計算機程式設計的性質有關。
即便如此,在一個苦差事可以同時調動我們的智力和身體的世界裡,總感覺它給了我們更多作為人的迴旋餘地,而不僅僅是工業機器中的齒輪。
當我還是個小盧德分子的時候,我的母親願意在程式設計工作中承擔這樣的苦差事,這使我們得以溫飽。碰巧的是,我的母親也是第一個教我如何程式設計的人,她傳達了這項活動中的樂趣和可能性。這項活動始於為盧德分子辯護的浪漫詩人的懂技術的女兒,這在某種程度上對我來說是完全正確的。