美國(guó)核彈發(fā)射井的軟件50年沒有更新?
這是發(fā)射井中的美國(guó)民兵-3 核導(dǎo)彈, 在美國(guó)三位一體的核戰(zhàn)略中, 它是陸基核威懾能力的中堅(jiān)力量。
現(xiàn)在大約有450枚民兵-3深埋在地下,它們之間通過幾千英里的安全電纜連接,隨時(shí)準(zhǔn)備接受美國(guó)總統(tǒng)的指令, 發(fā)起核攻擊。
讓人想象不到的是,這么有威懾力的系統(tǒng),使用的是非常非常古老的技術(shù)。這些骨灰級(jí)的技術(shù)包括:
IBM Series/1 計(jì)算機(jī)
8英寸、容量為250K的軟盤
計(jì)算機(jī)屏幕的“光標(biāo)”不是現(xiàn)在的一個(gè)閃爍的“小豎條”,卻是一個(gè)方塊。
這樣的系統(tǒng)自上世紀(jì)60年代末建成以來(lái),已經(jīng)運(yùn)行50年之久。
這個(gè)系統(tǒng)非常“無(wú)聊”,非常專業(yè),也非??煽?, 它是7*24小時(shí)待命的,并且在過去的50年經(jīng)過了各個(gè)令人信服的測(cè)試。
古老的技術(shù)不見得全是壞事,至少有一點(diǎn),它不容易被黑客攻擊。
這些設(shè)備不對(duì)外聯(lián)網(wǎng),實(shí)際上它們連IP地址都沒有。
這里邊根本沒有現(xiàn)代的技術(shù),沒有WIFI,沒有藍(lán)牙,更沒有Web。
沒有JavaScript、Java、Python.... 系統(tǒng)是匯編語(yǔ)言編寫的,沒有源碼,想找到漏洞可不太容易。
不過,維護(hù)這樣老化的遺留系統(tǒng)可不容易,需要特殊技能, 這些人需要理解電路、電阻、二極管之類非常底層的東西,甚至需要學(xué)會(huì)焊接金屬!
這樣的人可不好找,因?yàn)楝F(xiàn)在的維護(hù)人員培訓(xùn)的都是現(xiàn)代的IT基礎(chǔ)設(shè)施,Linux,Cloud之類。
不過,無(wú)論多么可靠的系統(tǒng),總會(huì)進(jìn)入壽命的末期, 2018年, 民兵-3就在一次抽檢試射中出現(xiàn)了問題,導(dǎo)彈飛行過程中啟動(dòng)自毀程序。
2019年6月,美軍終于用“高度安全的SSD”淘汰了8寸軟盤,但是仍然保留了IBM Series/1 電腦, 一方面,它的安全性和可靠性不可缺少;另一方面,全部升級(jí)代價(jià)巨大。
民兵-3的控制系統(tǒng)還不是最古老的,美國(guó)國(guó)稅局有兩套系統(tǒng)用COBOL編寫,已經(jīng)有接近60歲的高齡, 2018年4月17日的一次崩潰,直接導(dǎo)致無(wú)數(shù)美國(guó)人無(wú)法按時(shí)報(bào)稅。
美國(guó)不少州的失業(yè)保險(xiǎn)系統(tǒng)也是COBOL寫的,由于2020疫情導(dǎo)致失業(yè)人員激增,申請(qǐng)失業(yè)補(bǔ)助的人數(shù)空前增長(zhǎng),這些古董級(jí)別的系統(tǒng)不堪重負(fù),美國(guó)政府不得不招聘一些有COBOL技能的志愿者,前來(lái)進(jìn)行支持工作。
但是,合格的COBOL程序員都已經(jīng)60歲以上,已經(jīng)退休了!
這些系統(tǒng)有個(gè)共同的特點(diǎn),承擔(dān)著核心的任務(wù),還可以正常工作,但是維護(hù)修改起來(lái)非常麻煩。
我們把這樣的系統(tǒng)稱為“遺留系統(tǒng)”, 對(duì)于這樣的系統(tǒng),大家采用的準(zhǔn)則就是:
如果東西沒壞,就不要去修理它
國(guó)內(nèi)的IT系統(tǒng)建設(shè)比較晚,很多系統(tǒng)還比較年輕,再過20~30年,會(huì)是什么樣子呢?
也許有一天,像我這樣的Java程序員也會(huì)被召喚出來(lái),去維修那些古老的Java系統(tǒng)了吧?
到時(shí)候,招聘啟事可能是這樣的:
我公司50年前的核心系統(tǒng)需要繼續(xù)維護(hù),誠(chéng)招Java工程師,年齡不限。
要求:
會(huì)Java SE
懂Servlet 和 JSP
知道Spring, Struts, Hibernate , MyBatis
聽說過設(shè)計(jì)模式的優(yōu)先。
一旦錄用,待遇從優(yōu),豪車別墅起步。