1. 程式人生 > 其它 >【Java】番外——BUG一詞的由來

【Java】番外——BUG一詞的由來

  Bug一詞指在電腦系統或程式中,存在的缺陷或問題。那麼,Bug一詞是如何由來的呢,接下來看看這個小故事:
  在20世紀40年代,當時的電子計算機都還非常龐大,數量也非常少,主要用在軍事方面。1944年製造完成的Mark I,1946年2月開始執行的ENIAC和1947年完成的Mark II是其中赫赫有名的幾臺,Mark I是由哈佛大學的Howard Aiken教授設計,IBM公司製造的,Mark II是由美國海軍出資製造的。與使用電子管制造的ENIAC不同,Mark I和Mark II主要是使用開關和繼電器製造的。另外,它們都是從紙帶或磁帶上讀取指令並執行的,因此,它們不屬於從記憶體讀取和執行指令的儲存程式計算機(stored-program computer)。
  1947年9月9日,當人們測試Mark II計算機時,它突然發生了故障。經過幾個小時的檢查後,工作人員發現了一隻飛蛾被打死在面板F的第70號繼電器中。當把這個飛蛾取出後,機器便恢復了正常。當時為Mark II計算機工作的著名女科學家Grace Hopper(格蕾絲·赫伯)將這隻飛蛾粘帖到當天的工作手冊中,並在上面加了一行註釋,“First actual case of bug being found”,當時的時間是15:45。隨著這個故事的廣為流傳,越來越多的人開始使用Bug一詞來指代計算機中的設計錯誤,並把Grace Hopper上登記的那隻飛蛾看作是計算機裡上第一個被記錄在文件中的Bug。