一個(gè)Bug,差點(diǎn)毀滅世界...
圖片來(lái)自 Pexels
你職業(yè)生涯中寫過最大的 Bug 是什么?在這個(gè)問題上,勇敢的碼農(nóng)們,總是能不斷地創(chuàng)造奇跡。
這不禁讓路過的一位普通市民感嘆:感覺有你們,我們還活在這個(gè)世界就像死神來(lái)了!
Bug 很大,你忍一下!一個(gè) Bug 到底能有多大?幾個(gè)歷史數(shù)據(jù)轉(zhuǎn)儲(chǔ)邏輯 Bug 或發(fā)貨邏輯 Bug,就能讓幾十萬(wàn)輕松蒸發(fā):
你們這虧錢的 Bug 都灑灑水啦,寫 Bug 差點(diǎn)進(jìn)去的見過沒?
馬上就有碼農(nóng)站出來(lái)表示不服,并表示自己參與開發(fā)的一款發(fā)薪軟件曾出現(xiàn) Bug,會(huì)導(dǎo)致發(fā)放的薪資變成雙倍,總共能多發(fā) 2000 多萬(wàn)。
當(dāng)時(shí)查出 Bug 的時(shí)候發(fā)薪單已經(jīng)生成,就差批量任務(wù)向銀行發(fā)起請(qǐng)求了!
奇怪的勝負(fù)心就這么燃起來(lái)了。
一時(shí)間,什么水閘關(guān)不住、高鐵追尾、甚至差點(diǎn)導(dǎo)致非洲國(guó)家內(nèi)戰(zhàn)的 Bug 都來(lái)了。
如果再放眼全球,你就會(huì)發(fā)現(xiàn)——Bug 沒有最大,只有更大。
2016 年時(shí),Excel 就出過一個(gè)致使上萬(wàn)份遺傳基因?qū)W論文出錯(cuò)的 Bug。
很多長(zhǎng)得像日期表達(dá)的長(zhǎng)基因名的縮寫(比如 SEPT2、MARCH1),會(huì)在這一 Bug 的作用下被 Excel 自動(dòng)轉(zhuǎn)化成日期格式:
學(xué)術(shù)領(lǐng)域之外的 Bug 那就更牛逼了。
比如在 1996 年,歐洲運(yùn)載火箭 Ariane 5 在發(fā)射 37 秒后當(dāng)場(chǎng)爆炸。
一瞬間,70 億美元的開發(fā)費(fèi)用全部木大,5 億美元的設(shè)備原地蒸發(fā)。
這一切都由一個(gè)整數(shù)溢出(Integer Overflow)的 Bug 引起。
而如果翻開維基百科上的這份專門統(tǒng)計(jì)歷史上造成嚴(yán)重后果的 Bug 清單,沿著 12 個(gè)類別一個(gè)一個(gè)找下去,就會(huì)發(fā)現(xiàn)——幾乎每一條 Bug 的背后都存在著千萬(wàn)上億的金錢損失。
有時(shí),甚至?xí)?lái)意外死亡。1985 年到 1987 年間,由加拿大 AECL 公司開發(fā)的 Therac-25 放射線療法機(jī)器在軟件互鎖機(jī)制上出現(xiàn)了 Bug,從而使輻射能量變成了正常劑量的 100 倍。
最終,至少有 6 名來(lái)自美國(guó)和加拿大地區(qū)的患者由于遭受過量輻射而意外死亡。
還有差點(diǎn)引發(fā)全球核戰(zhàn)爭(zhēng)的 Bug:1983 年蘇聯(lián)核警報(bào)誤報(bào)事件。
蘇聯(lián)軍官Stanislav Yevgrafovich Petrov
在那一年的 9 月 26 日,蘇聯(lián)的雷達(dá)監(jiān)測(cè)到了 5 枚自美軍基地發(fā)射而來(lái)的導(dǎo)彈。
而上圖的這位蘇聯(lián)軍官權(quán)衡再三,最終將這一導(dǎo)彈攻擊警告判斷為誤報(bào),并沒有按照規(guī)定向上級(jí)匯報(bào)并申請(qǐng)反擊。
事實(shí)證明,這次 DeBug 成功避免了地球 Online 在 1983 年就發(fā)生重啟。
“不是 Bug 是特性”
看完了上面那些驚天大活兒,瞬間覺得郵件/短信連環(huán) CALL 這種 Bug 都溫柔了許多。
像這種由于抽獎(jiǎng)程序 Bug 導(dǎo)致的社死,好像也不是個(gè)事兒了:
而影響力又大,又沒有造成嚴(yán)重?fù)p失,甚至讓用戶拍手叫好的 Bug 也不是沒有。
比如一到游戲圈,Bug 就會(huì)自動(dòng)改名為特性。
原神魚竿 Bug
某些知名游戲大廠甚至還會(huì)聯(lián)名發(fā)布 Bug 馬克杯,玩梗玩得飛起。
還有玩家真情實(shí)感地表示:Bug 正是游戲復(fù)雜規(guī)則和交互的體現(xiàn),我游 YYDS!
《矮人要塞》貓咪離奇死亡事件
甚至在游戲行業(yè)之外,還有用戶在 Bug 被修復(fù)后憤怒投訴:
圖源知乎答主三和四保
最后,再回到“你的程序員生涯中寫過的最大 Bug”這一問題上來(lái)。
有回答選擇直接結(jié)束比賽:你們的程序員生涯中寫過的最大 Bug 是什么?——當(dāng)初選擇了做程序員。
軟件 Bug 清單:
https://en.wikipedia.org/wiki/List_of_software_Bugs
參考鏈接:
https://www.zhihu.com/question/482967292
作者:博雯
編輯:陶家龍
出處:轉(zhuǎn)載自公眾號(hào)量子位(ID:公眾號(hào) QbitAI)