臭蟲

IT術語

程序錯誤,即英文的Bug,也稱為缺陷、臭蟲,是指在軟體運行中因為程序本身有錯誤而造成的功能不正常、死機、數據丟失、非正常中斷等現象。早期的計算機由於體積非常龐大,有些小蟲子可能會鑽入機器內部,造成計算機工作失靈。史上的第一隻 "Bug" ,真的是因為一隻飛蛾意外走入一電腦而引致故障,因此Bug從原意為臭蟲引申為程序錯誤。一些有趣的Bug有時也會成為一種樂趣。

在電腦遊戲中,一些Bug,假如不令遊戲出現大錯誤的話,經常會變成一種玩遊戲時的秘技。

來源


臭蟲在IT領域也被稱作bug,與漏洞有關,但不完全指漏洞。英文單詞Debug就來源於bedbug,類似的還有fixbug等單詞。
所謂“Bug”(臭蟲),是指電腦系統的硬體、系統軟體(如操作系統)或應用軟體(如文字處理軟體)出錯。硬體的出錯有兩個原因,一是設計錯誤,一是硬體部件老化失效等。軟體的錯誤全是廠家設計錯誤。那種說用戶執行了非法操作的提示,是軟體廠商不負責的胡說八道。用戶可能會執行不正確的操作,比如本來是做加法但按了減法鍵。這樣用戶會得到一個不正確的結果,但不會引起Bug發作。軟體廠商在設計產品時的一個基本要求,就是不允許用戶做非法的操作。只要允許用戶做的,都是合法的。用戶根本就沒有辦法知道廠家心裡是怎麼想的,哪些操作序列是非法的。從電腦誕生之日起,就有了電腦BUG。第一個有記載的Bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(GraceHopper)發現的。哈珀後來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為“馬克二型”的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建築。那是一個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。突然,馬克二型死機了。技術人員試了很多辦法,最後定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一隻飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到“事件記錄本”中,並註明“第一個發現蟲子的實例。”從此以後,人們將計算機錯誤戲稱為蟲子(Bug),而把找尋錯誤的工作稱為(debug)。哈珀的事件記錄本,連同那個飛蛾,現在陳列在美國歷史博物館中。

歷史發展


第一個有記載的bug是美國海軍的編程員,編譯器的發明者格蕾斯·哈珀(GraceHopper)發現的。哈珀後來成了美國海軍的一個將軍,領導了著名計算機語言Cobol的開發。1945年9月9日,下午三點。哈珀中尉正領著她的小組構造一個稱為“馬克二型”的計算機。這還不是一個完全的電子計算機,它使用了大量的繼電器,一種電子機械裝置。第二次世界大戰還沒有結束。哈珀的小組日以繼夜地工作。機房是一間第一次世界大戰時建造的老建築。那是一個炎熱的夏天,房間沒有空調,所有窗戶都敞開散熱。突然,馬克二型死機了。技術人員試了很多辦法,最後定位到第70號繼電器出錯。哈珀觀察這個出錯的繼電器,發現一隻飛蛾躺在中間,已經被繼電器打死。她小心地用攝子將蛾子夾出來,用透明膠布帖到“事件記錄本”中,並註明“第一個發現蟲子的實例。”從此以後,人們將計算機錯誤戲稱為蟲子(bug),而把找尋錯誤的工作稱為(debug)。哈珀的事件記錄本,連同那個飛蛾,現在陳列在美國歷史博物館中。