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