本文由公眾號 “把科學帶回家” 提供
給孩子最好的科學教育
來源 fas.harvard.edu等
編譯 七君
你有沒有考慮過,在計算機和計算器出現前,人們是怎么算賽因扣賽因,還有對數的呢?難道每次要用的時候,都要親自手算嗎?
其實,在2百多年前,人肉計算機就出現了;一直到20世紀60年代真正的超級計算機出現前,計算都是人肉實現的。而且這些人肉計算機,大多數時候是女孩子,因此在計算機出現之初,計算能力的單位是用女孩子的人頭數來衡量的。
200年前的女人肉計算機
1790年,法國數學家和工程師,水利學家 Gaspardde Prony 組織了一批人肉計算機。這些人肉計算機的任務是,在法國大革命后的百廢待興的法國制造對數表和三角函數表,這樣法國國民議會才能進行土地測量和登記。
這些人肉計算機,許多是因為貴族倒臺而失去工作的假發制造者,而這些假發制造者中的大多數是女孩子。
18世紀其實還有一位曾被歷史淹沒的女人肉計算機。
因為對哈雷彗星感到好奇,法國天文學家亞歷克西斯·克勞德·克萊羅(Alexis-Claude Clairaut,1713-1765年)開始計算哈雷彗星下一次會在什么時候探訪地球。他把這個計算過程分成了好幾步,并在兩位同事,法國數學家和天文學家妮可-雷訥·勒波特(Nicole-Reine Lapaute) 和法國天文學家杰羅姆·拉朗德(Joseph-Jerome de Lalande)的幫助下,在盧森堡宮里用鵝毛筆和亞麻布紙進行演算。
妮可-雷訥·勒波特是一位法國皇家鐘表匠的妻子,她曾經和丈夫建造了一個具有天文歷法功能的時鐘。勒波特的父母比較開明,因此她受到了比較好的教育,她的丈夫也允許她從事研究,因此勒波特成為了拉朗德的長期科研搭檔。
勒波特和拉朗德計算的是木星和土星的引力(三體問題)以及哈雷的軌道問題。1750年左右,勒波特用三角學的方法幫助克萊羅計算哈雷彗星下一次造訪地球的時間。他們一直工作了6個月,終于預測出,哈雷彗星將在1759年4月13日回歸。
這數字和實際日期3月13日只差1個月。這個誤差主要是因為當時天王星和海王星還沒有被發現,因此他們沒有算上這兩個行星的影響。但是,他們3人的計算比哈雷本人的預測——1758年要準確得多。
不過,克萊羅曾經想把勒波特的名字從這個大發現中剔除,虧了拉朗德翻案,否則我們就不知道18世紀還有這樣的強大大腦存在了。
便宜好用的哈佛天文臺女計算機
到了19世紀,便宜好用的受過高等教育的女孩子成了天文計算的主力。
1885-1917年間,哈佛大學天文臺(Harvard College Observatory)雇傭了80個女人肉“計算機”來分析成千上萬的天文學攝影。
這些“照片“是秘魯和馬塞諸塞州的天文望遠鏡拍攝的。因為當時的技術限制,這些“照片”用的是感光玻璃板。哈佛大學介紹,每塊玻璃版上可能有超過10萬個恒星。這些女人肉計算機要計算這些恒星的亮度,并要根據恒星光譜將它們一個個分類。
哈佛大學天文臺的女人肉計算機
圖片來源:harvard.edu
哈佛大學表示,雇傭女人肉計算機的原因是雇不起男性,因為這些女性愿意接受25美分的時薪(相當于現在的6.6美元/小時)。當時,麻省的女子文理學院拉德克利夫學院的畢業生甚至愿意當不拿薪水的實習生。
在這些女人肉計算機中,亨麗愛塔·勒維特(Henrietta Swan Leavitt)和安妮·坎農(Annie Jump Cannon)最為著名,因為她們的發現改變了天文學的歷程。
女人肉計算機亨麗愛塔·勒維特的發現讓埃德溫·哈勃(Edwin Hubble)發現了哈勃定律,并得以發展出關于宇宙膨脹的理論。
另外一位女人肉計算機安妮·坎農后來發明了哈佛分類法(Harvard Classification Scheme),也就是根據恒星的顏色對其進行分類的方法,這個分類法后來在天文學上得到了廣泛使用。
二戰時:男人在前方丟炸彈,女人在后方做計算
1945年,世界上第一臺可編程的通用計算機埃尼阿克(ENIAC)出現了。
部分保存在賓夕法尼亞大學的埃尼阿克
圖片來源:wikimedia
埃尼阿克是個大胖子,重達27噸,占地167平方米,胃口也很大,功率是150千瓦。在理論上,這個用真空管制造的計算機可以處理任何問題。但是在二戰時,埃尼阿克的主要任務是計算彈道。
在二戰快結束的時候,賓夕法尼亞大學的6位女性被挑選出來做埃尼阿克的程序員。她們是 Jean Jennings Bartik,Betty Holberton,Marlyn Wescoff,Kathleen McNulty,Ruth Teitelbaum 和 Frances Spence。
埃尼阿克的六位女程序員之一的Frances Spence
圖片來源:wikimedia
這些女性很樂于做這個工作,因為那個時候有知識有技術的女人大都只能去教教書,或者為保險公司做精算師。
但是,埃尼阿克這個計算機有個小問題:埃尼阿克的創造者(因為懶)沒有寫任何操作手冊,所以具體操作全要這些女程序員自己搞定。
后來嫁給埃尼阿克的發明人之一,美國物理學家約翰·莫奇利(John Mauchly)的第一代程序員 Kay McNulty 在1977年接受采訪時表示,當時一開始有人給她們一大堆藍圖,藍圖里描繪的是埃尼阿克所有電路板的圖解,然后告訴她們:
“用它們你們就知道機器的原理啦,然后你們就知道怎么給它編程啦。”
但是在通用計算機剛剛出現的時代,誰也沒經歷過這種事兒,所以誰也不知道,誰也不敢問。要是在現在,你把計算機的電路板給程序員看,啥操作說明也沒有,然后讓他們根據電路板編程,他們肯定想打人。
Betty Jean Jennings (左) 和 Frances V. Spence (右)正在操作埃尼阿克的控制面板。
圖片來源:wikimedia
總而言之,女程序員的編程工作是,首先把要解決的問題用機器能讀懂的語言描述和翻譯出來,然后把這些代碼通過機器的開關輸入進去。
聽起來很簡單,但是上手之后,這些女程序員才真的想打人。一開始,光是為埃尼阿克輸入要處理的問題就要花費數天時間。聽一聽心直口快的埃尼阿克第一代程序員 Jean Bartik 是怎么描述這個工作的吧:
“埃尼阿克就是一個XX(碧池)。”為了調試程序,她們必須要到這個27噸的胖子的嘎吱窩里去看到底哪根真空管出問題了。你要是讓現在的程序員拆開電腦調試程序,不打人那都是真愛。
好在這6個女程序員設計了一種儲存程序的方法,簡化了問題輸入的過程。埃尼阿克的女程序員之一 Jean Bartik 說,用這種方法,“你就不需要再對機器進行設置了,你只需要調整一下開關和函數表就可以了。這樣一來,對埃尼阿克進行編程的大到嚇人工作量就成為過去了。”
另外,為了改善用埃尼阿克編程的效率,McNulty 發明了子程序,Betty Holberton 則發明了世界上第一個程序生成器(能產生其他程序的程序)、歸并排序程序,還有斷點程序(命令計算機停止,方便程序員調試的程序)。
這一切努力都沒有白費。Jean Bartik 回憶:“埃尼阿克面世的那天是我人生中最光輝燦爛的一天。埃尼阿克計算彈道的速度比子彈還快,是此前任何機器運算速度的1000倍。”
當被問到,埃尼阿克的設計者約翰·皮斯普·埃克特(J. Presper Eckert)和莫奇利的編程能力是不是和這6人小隊一樣強時,她直接說:“他們當然比不上啦。他們當然知道埃尼阿克的工作原理,但是他們的工作并不是編程。”
現在,這批埃尼阿克女程序員中的很多人都被視為計算機編程的先鋒人物。
NASA的火箭女孩
你可能不知道,在二戰前后,NASA 還曾有全女子人肉計算機小部隊。
2016年的好萊塢電影《隱藏人物》的三位原型,西部電腦 Mary Jackson(上左),Katherine Johnson(上中),Dorothy Vaughn(上右)和三位對應的主演(下排)。
1943-1958年,為 NASA 的前身——蘭利航空實驗室(Langley Memorial Aeronautical Laboratory)執行計算任務的是一些女黑人。她們承擔了各種航天工程的任務,其中就包括為美國的第一個載人航天計劃——水星計劃進行軌道計算。
這些女黑人肉計算機后來被稱為 West Computers(西部電腦),這些人的事跡也被拍成了2016年上映的電影《隱藏人物》(Hidden Figures)。
20世紀40年代,NASA 的噴氣推進實驗室(JPL)還有登月計劃和火星探索計劃,當時參與這些項目的計算的大多數也是女性,她們是 JPL 的女人肉計算機,被稱為 Rocket Girls(火箭女孩)。
1953年,JPL的女人肉計算機Rocket Girls,這些姑娘的工作是幫助美國發射衛星,并進行月球任務和行星探索任務。
圖片來源:NASA/JPL-Caltech
“千女子力”
二戰后的一段時間里,科研和企業依然需要人肉計算機。
1950年左右,意大利的耶穌會傳教士 Father Roberto Busa 和 IBM 合作,組織了一群人肉計算機,專門用來把中世紀哲學家托馬斯·阿奎那(Thomas Aquinas)的書籍翻譯成打孔卡(punchcard)——打孔卡相當于那個時代的U盤,并對文本進行語言學和文學分析。
用打孔卡編程的時代
圖片來源:wikimedia
這個工程規模浩大。話癆阿奎那寫了大概9百萬字的材料,因此 Busa 的人肉計算機分析進行了超過30年。這項工作后來被稱為 INDEX THOMISTICUS,這是世界上比較早的利用(人肉)計算機進行的數字人文研究。
而參與這個首批人文學科數字化工作的,也是女人肉計算機。意大利米蘭圣心天主教大學 CIRCSE 研究中心的研究員 Marco Passarotti 后來回憶,Busa 曾和他表示,選擇女孩子做人肉計算機的原因是她們比男孩子更細心。
事實上,因為那個時候的人肉計算機大多是女性擔當,因此二戰后對計算機的計算能力的描述就是用“千女子力”(kilo-girl)來表示的,就和“馬力”類似。
“千女子力”這個單位代表著,某臺計算機的計算能力等同于1000個女性。而計算時間則被稱為“女子時間”(girl hours)。
這種狀況一直持續到60年代。
在20世紀60年代初期,編程被看作是適合女孩子的工作,當時的女性時尚雜志《時尚》(Cosmopolitan Magazine)還曾在一篇名為“計算機女孩”(The Computer Girls)的文章中寫道,對女孩子來說計算機編程領域提供的工作比其他領域都多。
20世紀60年代,編程被看作是適合女孩子的工作,女性時尚雜志《時尚》(Cosmopolitan Magazine)稱,編程這個工作很適合女孩子,收入很高(實習生8000美金一年,高級系統分析師2萬美金一年;1960年的2萬美金相當于現在的17萬美金),并且刊登了 IBM 的系統工程師 Ann Richardson 的照片。
圖片來源:sice.indiana.edu
計算機協會(ACM)的教育主管 James Adams 也曾說:“除了教書以外,我不知道還有什么工作比編程更適合女孩子。”
美國海軍準將及計算機科學家,世界最早一批的程序員之一格蕾絲·赫柏(Grace Hopper)還曾告訴一位記者:編程“就像準備晚飯,你要提前做好規劃以備不時之需…女性‘天生’適合計算機編程。”
格蕾絲·赫柏
1965年,超級計算機 CDC 6600 出現了。這時候開始,人肉計算機的重要性就下降了。后來,由于計算機技術的發展,人肉計算機終于成為了過去時。
1962年,美軍Ballistics Research Laboratory的女人肉計算機。
圖片來源:U.S. Army/ARL Technical Library Archives
在被問到給現在的女孩子的建議時,Jean Bartik 說:“別聽別人說你做不了什么。如果你相信你能做到,并且給自己相應的教育,你可以成就任何事。”
總之看完這些女人肉計算機和女程序員先驅的故事,時代有沒有進步我不知道,我只知道現在的計算能力不是用女人頭做單位的,而是用禿頂的程度來描述的。以前的女程序員應該沒有這種痛點吧。