鏡子大王
為什么當(dāng)電腦出問題的時候,我們就說出bug了?眾所周知,因為著名的計算機科學(xué)家Grace Murray Hopper曾在計算機中發(fā)現(xiàn)了一只真正的飛蛾,所以我們選擇用bug(蟲子)這個詞來代指故障。雖然這是個真實故事,但這個詞的由來并非完全正確。
Hopper所在的團隊創(chuàng)造了世界上第一臺可編程計算機,哈佛大學(xué)的Mark-1。此外,Hopper是第一位在耶魯大學(xué)獲得數(shù)學(xué)博士學(xué)位的女性,她助力研發(fā)了第一個計算機語言編譯器,她也是第一位獲得國家技術(shù)獎?wù)碌呐?。難怪人們常??渌恰疤熨n恩寵”。
計算機術(shù)語“bug”最著名的起源故事是這樣的:1943年,Hopper在為美國海軍工作,當(dāng)時正處于二戰(zhàn)最激烈的時期。而Mark-1計算機體積龐大,出了個小故障,卻很難找到。但Hopper最終還是發(fā)現(xiàn)了問題所在,因為有一只蛾子卡在了內(nèi)部結(jié)構(gòu)中。她在筆記本上將這只蛾子做成了標本,并在旁邊寫了一篇文章。根據(jù)海軍網(wǎng)站的說法,這是第一個找到bug的真實案例,也是bug一詞的由來。
這是真相嗎?這個故事基本上站得住腳。不管Hopper有沒有發(fā)現(xiàn)蛾子,她都確實寫了篇這樣的文章。1944年這個確切年份也有待考證。然而,真正的爭議在于,她并沒有創(chuàng)造出bug這個雙關(guān)詞,因為這個詞早就廣為使用了。
Hopper的論文顯示,在蛾子事件發(fā)生之前,她和其他人幾年來一直在用這個詞代指電腦問題。事實上,bug的出現(xiàn)甚至早于Hopper本人。根據(jù)《牛津英語詞典》顯示,它首次出現(xiàn)在一份描述愛迪生的報紙上。1889年,《帕爾邁爾公報》的一位作者寫道:“愛迪生先生花了兩晚修理留聲機的故障(fixing‘a(chǎn) bug),這是一個用來表示解決問題的短語,意思是就好比有只蟲子藏在了留聲機里,搞出了這些麻煩?!比欢?,bug一詞早在1876年就在愛迪生本人的私人日記和信件中出現(xiàn)過了,遠遠早于這篇報道前。
那么愛迪生是怎么想到這個詞的呢?《計算機世界》里面指出,這個詞可以追溯到一個表示怪物的古老單詞?,F(xiàn)在仍然存在于一些不常見的單詞中,比如bugaboo(令人煩惱或恐懼的東西)。但愛迪生造詞的來源倒是字面意思上的蟲子。他想象著有些小蟲子困在機器的漏洞中。在1878年的一封信中,他寫道:“在商業(yè)成功或失敗前,技術(shù)上的漏洞(technicalbugs)需要經(jīng)過數(shù)月的觀察、研究和勞動才能自我顯露出來。畢竟,你在看公寓的時候從來不會注意到蟑螂,只有住進去后,它們才會暴露?!?/p>
那為什么我們一說起bug,最先想到的是Hopper的蛾子事件呢?這還是要歸功于Hopper本人。因為在1944年后的幾年里,她一遍又一遍地講述著計算機里有只蛾子的故事,還一度補充道:“自那時起,一旦計算機出了問題,我們就說是有bug?!?/p>
(摘自“搜狐網(wǎng)”)