“Bug”一詞,是指“故障”、“缺陷”。了解軟件開(kāi)發(fā)的朋友都非常熟悉,程序員和測試人員更不用說(shuō),在工作中會(huì )常遇到。 9月9日下午在微博上看到@新浪科技發(fā)了一條微博消息:#歷史上的今天#1945年的今天,一只小飛蛾鉆進(jìn)了計算機電路里,導致系統無(wú)法工作,一位名叫格蕾絲·赫柏的人把飛蛾拍死在工作日志上(見(jiàn)圖),寫(xiě)道:就是這個(gè) bug(蟲(chóng)子),害我們今天的工作無(wú)法完成——于是,bug一詞成了電腦系統程序的專(zhuān)業(yè)術(shù)語(yǔ),形容那些系統中的缺陷或問(wèn)題。 ![]() (圖1) 。ㄗ1:微博消息是摘自一位新浪博主的博文,點(diǎn)擊進(jìn)入查看后,可知那位博主也是從網(wǎng)絡(luò )轉載。) 好奇使然,于是在Google查找信息,摘錄并編譯了一些英文信息。 美國海軍網(wǎng)站上的記錄 下面的藍色段落,摘自美國海軍網(wǎng)站(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. 下面這張畫(huà)展示了一個(gè)有偉大歷史意義的生物,由格蕾絲·穆雷·霍波上尉首次確認并命名。1947年,格蕾絲正在海軍服役。 ![]() (圖2:美國海軍網(wǎng)站的圖片,注意圖中紅色箭頭指示的“1947”) The First "Computer Bug" 首個(gè)“計算機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日,正在哈佛大學(xué)測試馬克II型艾肯中繼器計算機,在電板編號為70的中繼器觸點(diǎn)旁發(fā)現了一只飛蛾。操作員把飛蛾貼在計算機日志上了,并寫(xiě)下了“首個(gè)發(fā)現bug 的實(shí)際案例”。他們提出了一個(gè)詞,“debug(調試)”了機器,從而引入新術(shù)語(yǔ)“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年,這個(gè)仍然貼著(zhù)飛蛾的日志,保存于弗吉尼亞州達爾格倫的海軍水面作戰中心計算機博物館。 維基百科上的詞條 另外,在英文維基百科的 Softwar bug 詞條中,有比較全面的介紹,摘錄翻譯部分內容: “bug”術(shù)語(yǔ)的發(fā)明,因為格蕾絲·霍波她公布過(guò)早期電子計算機的一個(gè)故障原因,通常錯誤地歸功于她。這個(gè)版本的故事源自下面這段話(huà):“在1946年,當霍波退役后后,她加入哈佛大學(xué)的計算機實(shí)驗室,繼續研究馬克II型和馬克III型計算機的工作。操作員在追蹤馬克II型的錯誤時(shí)發(fā)現繼電器中有一只飛蛾,遂有bug術(shù)語(yǔ)。這個(gè)bug被仔細移除,并被貼在日志本上。這帶來(lái)的第一個(gè)bug,就是我們今日所說(shuō)的錯誤(error)或程序中的故障(glitch)! 格蕾絲·霍波其實(shí)并不是那位發(fā)現這只飛蛾的人,只是她欣然承認了而已。雖然日志本上的日期是1947年9月9日(見(jiàn)圖2),不過(guò)有時(shí)候被錯誤地報導成1945年。發(fā)現飛蛾的操作員,包括威廉姆·比爾·伯克,伯克在弗吉尼亞州達爾格倫的海軍武器實(shí)驗室,熟悉工程術(shù)語(yǔ),好逗樂(lè ),給飛蛾寫(xiě)下了“首個(gè)發(fā)現bug的實(shí)際案例”;舨ㄏ矚g講述這個(gè)故事。這個(gè)日志本現存于史密森尼國立美國歷史博物館,飛蛾還完整地貼于其上。 日志本的信息 從James Huggins的這篇關(guān)于第一個(gè)計算機Bug的文章中得知:那個(gè)日志本經(jīng)過(guò)一些波折后,海軍水面作戰中心計算機博物館在1991年捐贈給史密森尼國立美國歷史博物館。后因為經(jīng)費和空間的緣故,美國歷史博物館拖了好些年才把這個(gè)日志本實(shí)際展出。 綜述 綜合上述信息,可以知道新浪科技所發(fā)的那條微博消息時(shí),有不少錯誤,至少有兩處。如下:
關(guān)于飛蛾的死,那個(gè)人博客中是說(shuō):“哈珀觀(guān)察這個(gè)出錯的繼電器,發(fā)現一只飛蛾躺在中間,已經(jīng)被繼電器打死。她小心地用鑷子將蛾子夾出來(lái),計算機又恢復正常!保ㄇ也徽f(shuō)個(gè)人博主的說(shuō)法是否正確)編輯硬要說(shuō)是“格蕾絲·赫柏的人把飛蛾拍死在工作日志” ,有點(diǎn)讓人無(wú)語(yǔ)!按中摹辈皇抢碛砂? 另外,新浪科技的那條微博轉發(fā)近3000,并且有不少帶V字的賬號轉發(fā),這條微博,誤導了不少受眾啊。 ![]() 百度百科中的bug詞條,在介紹bug由來(lái)時(shí),寫(xiě)的也是“1945年”。此外,很多相關(guān)的中文文章,也都寫(xiě)著(zhù)“1945年”。 結束語(yǔ) 雖說(shuō)網(wǎng)絡(luò )信息很多,判斷真偽不容易,但像這種涉及國外的歷史信息,其實(shí)多動(dòng)動(dòng)手,就可以在英文維基百科中找到相應詞條。 對程序員來(lái)說(shuō),英語(yǔ)很重要!這里就不多解釋?zhuān)荏w會(huì )的朋友自然可以體會(huì )。 時(shí)間匆忙,或許本文有些地方也許有誤,可以在評論中留言,也可以在@程序員的那些事 微博中交流討論。 ---------------------------------------------------- 本文出處:伯樂(lè )在線(xiàn)- 職場(chǎng)博客 本文鏈接:http://www.jobbole.com/entry.php/1408 |