“Bug”一詞,是指“故障”、“缺陷”。了解軟件開發的朋友都非常熟悉,程序員和測試人員更不用說,在工作中會常遇到。 9月9日下午在微博上看到@新浪科技發了一條微博消息:#歷史上的今天#1945年的今天,一只小飛蛾鉆進了計算機電路里,導致系統無法工作,一位名叫格蕾絲·赫柏的人把飛蛾拍死在工作日志上(見圖),寫道:就是這個 bug(蟲子),害我們今天的工作無法完成——于是,bug一詞成了電腦系統程序的專業術語,形容那些系統中的缺陷或問題。 (圖1) 。ㄗ1:微博消息是摘自一位新浪博主的博文,點擊進入查看后,可知那位博主也是從網絡轉載。) 好奇使然,于是在Google查找信息,摘錄并編譯了一些英文信息。 美國海軍網站上的記錄 下面的藍色段落,摘自美國海軍網站(Naval History& Heritage Command)。 The following image shows an organism of great historic significance, reportedly first identified and named by Lieutenant Grace Murray Hopper while she was on Navy active duty in 1947. 下面這張畫展示了一個有偉大歷史意義的生物,由格蕾絲·穆雷·霍波上尉首次確認并命名。1947年,格蕾絲正在海軍服役。 (圖2:美國海軍網站的圖片,注意圖中紅色箭頭指示的“1947”) The First "Computer Bug" 首個“計算機Bug” Moth found trapped between points at Relay# 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University, 9 September 1947. The operators affixed the moth to the computer log,with the entry: "First actual case of bug being found". They put out the word that they had "debugged" the machine, thus introducing the term "debugging a computer program". 1947年9月9日,正在哈佛大學測試馬克II型艾肯中繼器計算機,在電板編號為70的中繼器觸點旁發現了一只飛蛾。操作員把飛蛾貼在計算機日志上了,并寫下了“首個發現bug 的實際案例”。他們提出了一個詞,“debug(調試)”了機器,從而引入新術語“debugging a computer program(調試計算機程序)”。 In 1988, the log,with the moth still taped by the entry,was in the Naval Surface Warfare Center Computer Museum at Dahlgren, Virginia. 1988年,這個仍然貼著飛蛾的日志,保存于弗吉尼亞州達爾格倫的海軍水面作戰中心計算機博物館。 維基百科上的詞條 另外,在英文維基百科的 Softwar bug 詞條中,有比較全面的介紹,摘錄翻譯部分內容: “bug”術語的發明,因為格蕾絲·霍波她公布過早期電子計算機的一個故障原因,通常錯誤地歸功于她。這個版本的故事源自下面這段話:“在1946年,當霍波退役后后,她加入哈佛大學的計算機實驗室,繼續研究馬克II型和馬克III型計算機的工作。操作員在追蹤馬克II型的錯誤時發現繼電器中有一只飛蛾,遂有bug術語。這個bug被仔細移除,并被貼在日志本上。這帶來的第一個bug,就是我們今日所說的錯誤(error)或程序中的故障(glitch)! 格蕾絲·霍波其實并不是那位發現這只飛蛾的人,只是她欣然承認了而已。雖然日志本上的日期是1947年9月9日(見圖2),不過有時候被錯誤地報導成1945年。發現飛蛾的操作員,包括威廉姆·比爾·伯克,伯克在弗吉尼亞州達爾格倫的海軍武器實驗室,熟悉工程術語,好逗樂,給飛蛾寫下了“首個發現bug的實際案例”。霍波喜歡講述這個故事。這個日志本現存于史密森尼國立美國歷史博物館,飛蛾還完整地貼于其上。 日志本的信息 從James Huggins的這篇關于第一個計算機Bug的文章中得知:那個日志本經過一些波折后,海軍水面作戰中心計算機博物館在1991年捐贈給史密森尼國立美國歷史博物館。后因為經費和空間的緣故,美國歷史博物館拖了好些年才把這個日志本實際展出。 綜述 綜合上述信息,可以知道新浪科技所發的那條微博消息時,有不少錯誤,至少有兩處。如下:
關于飛蛾的死,那個人博客中是說:“哈珀觀察這個出錯的繼電器,發現一只飛蛾躺在中間,已經被繼電器打死。她小心地用鑷子將蛾子夾出來,計算機又恢復正常!保ㄇ也徽f個人博主的說法是否正確)編輯硬要說是“格蕾絲·赫柏的人把飛蛾拍死在工作日志” ,有點讓人無語。“粗心”不是理由吧? 另外,新浪科技的那條微博轉發近3000,并且有不少帶V字的賬號轉發,這條微博,誤導了不少受眾啊。 百度百科中的bug詞條,在介紹bug由來時,寫的也是“1945年”。此外,很多相關的中文文章,也都寫著“1945年”。 結束語 雖說網絡信息很多,判斷真偽不容易,但像這種涉及國外的歷史信息,其實多動動手,就可以在英文維基百科中找到相應詞條。 對程序員來說,英語很重要!這里就不多解釋,能體會的朋友自然可以體會。 時間匆忙,或許本文有些地方也許有誤,可以在評論中留言,也可以在@程序員的那些事 微博中交流討論。 ---------------------------------------------------- 本文出處:伯樂在線- 職場博客 本文鏈接:http://www.jobbole.com/entry.php/1408 |