說起來,現在社會科技中,除了真正學過計算機專業的人,大部分人對於“千年蟲”這個稱號都有些陌生,甚至有些人連聽都沒聽過,不知道的網友聽到“蟲”這個字可能還會腦補出一大堆不明生物的樣子,但其實“千年蟲”並不是一種生物,而是一種由人類創造的電腦系統漏洞
“千年蟲”的誕生時間遠沒有所謂的1000年,實際上它被人們關注並引起爭議是在21年前,而且“千年蟲”並不像網友想象的一般,是一個類似“熊貓燒香”的電腦病毒,在計算機誕生之初給人類造成了重大損失,確切地說它本身是電腦系統設計者的一個漏洞,也就是我們所熟知的系統“bug”
BUG之母“葛麗絲·霍普”
說起千年蟲的歷史就不得不提到一個人,她的名字叫“葛麗絲·霍普”,學過計算機歷史的人應該都知道,她在計算機領域還有個外號,叫“BUG之母”
葛麗絲·霍普1906年出生於美國,從小就是一位學霸級人物,尤其是對數學有極高的天賦,1928年,從瓦薩學院畢業的霍普取得了數學和物理學的雙學士學位,後來她繼續深造,6年後成為美國少有的女性博士數學家,1939年後,第二次世界大戰爆發,霍普受到社會大環境的影響,進入美國海軍系統工作
雖然因為女性的身份和體質問題,霍普無法上陣殺敵,但她出色的數學天賦依舊引起了機構重視,1940年後,霍普從海軍預備軍官學校畢業,成為一名少尉軍銜的研究師,並被派遣到霍華德·艾肯的手下當助理,而霍華德就是後來世界第一臺通用計算機“馬克一號”的製造者
霍普自從接觸計算機行業後,很快便深陷其中,因為超高的數學天賦,她對計算機系統的知識理解很快,併成為了霍華德手下最得力的干將,某一次在進行“馬克二號”的執行實驗中,機器莫名出現了故障,科學家檢查裝置後發現一切無恙,還是霍普心思細膩,發現了電腦系統電路板有一隻小蟲子,當夜她在工作筆記中寫到“因為一隻BUG(英文小蟲子)的出現,我們中斷了實驗”
這就是歷史上電腦系統的第一個“bug”,霍普不僅是第一位用BUG來稱呼事故的人,還是最早為後人製造BUG 的科學家
“千年蟲”的由來
1957年,第二次世界大戰結束後,全球範圍內的國家都開始大力發展科技,而計算機系統的研發在美國更是到了氾濫的程度,程式語言品類繁雜卻沒有統一的制度,所以當時的機構邀請了霍普,希望她能開發出一款通用的計算機程式設計系統,也就是COBOL語言,這種語言系統可以編寫大型計算機的運載程式
而除了對程式語言的改動外,霍普還在計算機儲存系統上做了重大調整,她是世界首個選擇用6位數字來儲存日期的開發者,像我們如今所使用的計數日期96.10.18,代表的就是1996年10月18日,霍普就是此計數方法的開創者
不過就連霍普自己都沒想到,她對日期儲存系統的一次小小改動,竟然引發了後世全球範圍內的系統BUG
這個BUG的原理很簡單,那就是6位數的儲存日期方式,雖然可以節省部分電腦執行空間,但每當到了千年的整數年,系統就會出現無法識別的問題,比如2000年用6位數來儲存就是00年,而當時電腦的智慧程度根本無法識別00年到底是公元2000年還是1000年,這就導致一些計算結果出現了重大偏差
不僅如此,由於2000年左右國內外的電氣系統已經在普及,而它們大多數採用的都是霍普開發的6位儲存法,所以都遇上了BUG,而這場每1000年才會出現一次的電腦漏洞,就被稱作“千年蟲”
有意思的是,早在霍普開發6位儲存法的時候,美國有一位程式設計師“鮑勃”就已經發現了它的重大BUG,但當時的人都不以為然,因為他們覺得這種漏洞自己有生之年是遇不到了,所以懶得解決,還不如交給後人,一直到1990年,世界範圍內的程式設計師才想起來還有個危機未解除,所以在近10年的時間裡,都在為系統崩潰做準備
直到2000年到來後,千年蟲的漏洞正式爆發,雖然讓不少電腦系統都產生了崩潰,但好在人們有所準備,所以“千年蟲”造成的影響並不大,而且近20年來也已經被工程師們不斷完善,即便是再次爆發,也要等3000年的時候,到時人們還用不用電腦都很難說了
只是我們不能確定的是,在科技日益完善的今天,我們會不會也製造了一些“千年蟲”,並且在發現後不願意改進,從而留給後人去解決呢?
在座的各位怎麼看