您現在的位置是:首頁 > 籃球

“bug”如何成了計算機術語?

  • 由 大科技雜誌社 發表于 籃球
  • 2022-12-02
簡介”靈感竟與電報有關那麼,愛迪生為何偏偏會想到“bug”這個詞呢

bug的漢語意思是什麼意思

“bug”如何成了計算機術語?

“bug”如何成了計算機術語?

06:54

未知來源

計算機行業一句流行格言

“It’s not a bug,it’s a feature”——中文意思:“這不是一個故障,而是一種功能”。

沒人知道是哪位計算機專家首次說出了上面的這句話,但每個人都知道這句漫不經心的調侃已經成為了計算機領域中最流行的格言。每當工程師和科學家遇到硬體或軟體的故障時,都不免用這句格言自嘲一下。

“bug”如何成了計算機術語?

不過,這句格言中有一個詞語顯得非常奇怪,那就是“bug”。這個詞的本意是指“昆蟲”,如今在計算機科學中卻專指“故障”,而且相應地,修復故障的工作——“除錯”,也被稱為“debug”——“bug”的衍生詞。

那麼,形容昆蟲的名詞——“bug”,如何成為了計算機科學的術語?一個流傳最廣的說法是,1947年9月9日,美國哈佛大學的科學家在使用艾肯繼電器式計算機(由美國海軍制造的早期計算機,體型龐大)時遇到了電氣故障。當科學家開啟機器檢查時,發現有一隻飛蛾飛進了計算機,並導致計算機的一個繼電器短路了。因此,這次計算機故障的確是一個“bug”,然後,“bug”也就成了“故障”的代名詞。

愛迪生才是“發明者”

雖然上述事情確實發生過,但歷史的真相告訴我們,這個故事並不是科學中“bug”的起源。實際上,在此之前,“bug”用於表示“故障”已有70多年的時間了。

早在1878年3月3日,美國發明家托馬斯·愛迪生在給美國西部聯盟電話公司的一封信件中寫道:“你在一定程度上是對的,我確實在我的儀器中發現了一種新型昆蟲(bug),但我不能叫它‘電話蟲’,而應該叫它‘callbellum’,這種昆蟲在所有電話呼叫裝置中都能見到。”

愛迪生信中提到的這個“callbellum”並不是真正的昆蟲,而是一種帶有拉丁風格的幽默比喻。“call”指的是電話,“bellum”在拉丁語中是“戰爭”的意思。所以,愛迪生的意思是,自己正在和電話裝置的故障問題做鬥爭。

到了晚年,愛迪生更加明確地將“故障”比作“bug”。在給好友西奧多·普斯卡斯的信中,愛迪生寫道:“我所有的發明都是如此,第一步是直覺,伴隨著靈感一起爆發,然後困難就出現了——這玩意產生了各種昆蟲(bug),也就是五花八門的故障和小毛病。在一項發明取得商業成功或被定義為失敗之前,都需要經歷幾個月的觀察、測試和實踐來尋找這些故障。畢竟,你在找房子的時候從來不會注意到蟑螂,只有真正住進去之後,它們才會暴露出來。”

靈感竟與電報有關

那麼,愛迪生為何偏偏會想到“bug”這個詞呢?愛迪生本人並沒有解釋這一點。但很多科學家猜想,這或許和電報技術的發展有關。

在電報問世以來的40多年時間裡,有一個問題一直困擾著這項通訊技術,那就是一條電線一次只能傳送一條電報資訊。19世紀中葉,隨著電報通訊在歐美的普及,上述問題變得越來越讓人頭痛,因為唯一允許傳送更多電報資訊的方法就是安裝更多的電線。這樣做不僅昂貴,也使電報裝置顯得極為臃腫複雜。

所以,世界各地的發明家希望找到一種可以透過一條電線傳送多條資訊的方法,這種方法如今被稱為“多路複用”技術。到了19世紀70年代,多位發明家成功開發出了最早的“多路複用”技術——“聲學”電報。這種電報通常用特定的聲波頻率來編碼每一條單獨的電報資訊,可以允許多條資訊沿著同一條電線傳送。只要用一個設定好聲波頻率的接收器,就可以將電線中對應頻率的資訊提取出來。在“聲學”電報的眾多發明者之中,有一個人就是亞歷山大·格拉漢姆·貝爾——他也是電話的發明者。

但電報的不足之處仍然存在,搭載各種聲波頻率的電報資訊不停地產生響亮的咔噠聲,這讓許多電報操作員彷彿時刻在聽一群昆蟲的吵鬧聲,工作體驗感非常差。1873年,愛迪生花了點力氣,發明了一種電子裝置,可以解決電報的噪音問題。他將自己的發明稱為“bug catcher”或“bug trap”(兩個詞的意思都是“捕蟲器”)。科學家猜想,這可能就是愛迪生習慣使用“bug”這個詞的最初由來。

廣泛而漫長的推廣

愛迪生越來越頻繁地使用“bug”,導致這個詞開始頻繁地出現在科技報刊中。1892年,“bug”正式收錄進了美國工程師所編著的《標準電氣詞典》中,它首次成為了電氣領域中的標準術語,被釋義為:電器在工作或連線過程中出現的任何故障和麻煩。

到了20世紀,“bug”這個詞逐漸在科學界得到了更多的認可,而且這種用法也開始進入到日常生活中。科學家注意到,1931年的一則“Baffle Ball”(世界上第一臺商用彈球機)廣告中,它自豪地宣稱“在這個遊戲中沒有‘bug’”。1944年,科幻作家艾薩克·阿西莫夫也在短篇小說《抓兔子》中寫道:“美國機器人必須從高階機器人中取出bug,而且那裡的bug實在太多了,只要稍微測試一下就至少能找到六個”。

既然“bug”最初由愛迪生引入,而且在70多年裡由許多出色的推廣者來推廣,那麼為何人們一說起“bug”,總會最先想到1947年的飛蛾事件呢?這就要歸功於檢查時發現飛蛾的那位科學家了,她就是大名鼎鼎的格蕾絲·赫柏——計算機科學的先驅、程式設計師的鼻祖、同時也是美國海軍的第一位女將軍。

1947年9月9日下午3:45,赫柏小心翼翼地將那隻略脆的飛蛾貼到了自己的工作日誌上,興奮地在飛蛾旁邊寫道:“這是首次發現的一個真正的‘bug’”。後來,這頁帶有歷史價值的工作日誌和頁面上完整儲存的飛蛾,被收藏在了美國史密森國家自然歷史博物館中。為了紀念赫柏以及令“bug”更加流行的飛蛾事件,世界各地都將9月9日定為了“測試員節”。每到這一天,科學家都要提醒大家,在使用計算機時,不要忘了還有測試員正不知疲倦地“搜尋”和“殺死”各種bug,他們在計算機科學中扮演的角色也很重要。

Top