簡評:別幻想了,就算看完這篇文章,Bug 依舊不會少,就算沒有了 Bug,還會有 Aug,Cug。。。
Bug 這個詞兒從原本的「蟲子、臭蟲」成功晉級為程序錯誤,也一并成為了程序員心中永遠(yuǎn)的痛。(程序員:????)

(網(wǎng)圖,侵刪)
今天文章比較短,簡單聊聊 Bug 梗(估計很多人知道)。
據(jù)資料記載,在 1870 年的時候,愛迪生就說過電路的故障可能是 bug 引起的,不過當(dāng)時還沒有電腦這個概念,所以不延伸。而明確在計算機(jī)領(lǐng)域引用 Bug 這個詞的,是上一篇文章「編程語言是如何誕生的?」的女主角 -- Grace Murray Hopper 姐姐。
她不但發(fā)明了編譯器,還在計算機(jī)領(lǐng)域制造了 Bug 這個詞。(當(dāng)時這個詞是用來甩鍋的 -.-)

(圖中唯一的女性就是 Grace Hopper,照片上是世界上第一批正經(jīng)寫程序的人)
事發(fā)時,人們還在使用第一代真空管計算機(jī),這種計算機(jī)依靠控制電流來改變開關(guān),從而實現(xiàn)控制,但是發(fā)出大量的光和熱。當(dāng)時使用的計算機(jī)名為 Mark II。

題外:Mark 系列原名 ASCC (Automatic Sequence Controlled Calculator), 由哈佛大學(xué)與 IBM 合資建造。完成于 1943 年,重 35 噸,內(nèi)部線路長達(dá) 500 英里。
但是在 1944 年的 Mark I 啟用典禮之后,IBM 和哈佛就鬧翻了,原因是哈佛認(rèn)為 IBM只是個出錢的財主,主要的智力貢獻(xiàn)是哈佛人的功勞,IBM 認(rèn)為自己也在工程上做了許多研究和創(chuàng)新,而哈佛卻認(rèn)為那些工程上的創(chuàng)新都不值一提。 所以 IBM 就從哈佛的Mark計劃中退出。后來的十年間,IBM 在學(xué)術(shù)界的主要合作伙伴,變成了哥倫比亞大學(xué)。
—— 出自:Grace Murray Hopper 小傳
回到正題。
在 1949 年 9 月 9 日,一只蟲子(bug)被載入了計算機(jī)史冊。
那天的天氣很熱,在一間一戰(zhàn)時建造的老建筑物內(nèi),沒空調(diào),工作人員把窗戶都打開了,后來有一只蛾飛了進(jìn)來(可能被光吸引),結(jié)果那只蛾死在 70 號繼電器里面,造成電路不通,機(jī)器死機(jī),他們沒辦法算出他們要的結(jié)果。
經(jīng)過了近一天的檢查,Grace 找到了那只蛾,她設(shè)法用她的發(fā)夾把那只蛾弄了出來,還把那只蛾的尸體貼在她的管理日志上,上面寫道:「就是這個Bug,害我們今天的工作無法完成?!?/p>
自此之后,大家都知道了如何應(yīng)付老板:每次老板問為什么還沒做好,沒有數(shù)據(jù)的時候,大家都把錯誤推給小蟲子 Bug。(現(xiàn)在你試試)

(圖片出自:美國國家歷史博物館)
在這之后,在計算機(jī)科學(xué)中,Bug 從蟲子變成了程序的錯誤,而 Debug 也從除蟲變成了修復(fù)錯誤。
參考資料:
日報延伸閱讀:
歡迎關(guān)注知乎專欄「極光日報」,每天為 Makers 導(dǎo)讀三篇優(yōu)質(zhì)英文文章。