格蕾絲·赫柏:發(fā)現(xiàn)世界上第一個(gè)bug
對(duì)萬(wàn)千程序猿來(lái)說(shuō),在這個(gè)世界上如果有比寫(xiě)程序更痛苦的事情,那一定是親手找出自己編寫(xiě)的程序中的bug(漏洞)。
幾十年前,也有一位女性深感寫(xiě)程序的痛苦,然后她就設(shè)計(jì)了一套全新的計(jì)算機(jī)語(yǔ)言,把代碼從“01001….”變成了現(xiàn)在我們起碼看得懂的樣子,現(xiàn)在世界上70%的數(shù)據(jù)還在用她發(fā)明的語(yǔ)言進(jìn)行處理。
對(duì)了,世界上第一只bug也是她順手找出并命名的。
因?yàn)樗龑?xiě)的程序太高超,美國(guó)海軍部搞不定,只好兩次把已經(jīng)退休的她請(qǐng)回來(lái),還為了她把法定退休年齡延長(zhǎng)了5年。
耶魯大學(xué)第一位女?dāng)?shù)學(xué)博士、國(guó)防部杰出服務(wù)勛章這些名頭對(duì)她來(lái)說(shuō)都是小成就,過(guò)世后奧巴馬還追授她總統(tǒng)自由勛章,這是美國(guó)平民能獲得的最高榮譽(yù)了。
如果不是她,程序員大概會(huì)比現(xiàn)在更愛(ài)格子衫,抱更久的電腦,掉更多的頭發(fā),感嘆更多代碼的無(wú)常,并且短命個(gè)30年。
這個(gè)人,就是我們今天要介紹的主人公,與“阿蘭·圖靈、史蒂夫·喬布斯、比爾·蓋茨”等一同入選“IT界十大最有遠(yuǎn)見(jiàn)的人才”的唯一一位女性——格蕾絲·赫柏。
1906年,赫柏出生在美國(guó)紐約。童年的赫柏,展現(xiàn)出了不同于一般小女孩的愛(ài)好:爬樹(shù)、游泳、劃船、捉迷藏,熱衷于一切動(dòng)來(lái)動(dòng)去上躥下跳的活動(dòng)。
七歲時(shí),為了弄懂“鐘為什么朝一個(gè)方向轉(zhuǎn)”,赫柏把家里整整七臺(tái)鐘拆了個(gè)七零八落。
老是拆東西的小赫柏于是也總被罰,母親的懲罰很特別——刺繡。這個(gè)別致的懲罰培養(yǎng)了赫柏宜動(dòng)宜靜的好習(xí)慣。
除此之外,和數(shù)學(xué)界諸多“大?!钡哪赣H一樣,赫柏的母親也是一個(gè)喜歡數(shù)學(xué)的家庭婦女,她在赫柏的數(shù)學(xué)啟蒙上發(fā)揮了非常重要的作用。
從上學(xué)起,赫柏在數(shù)學(xué)、物理方面都異常出色,一路順順利利直到16歲參加高考,卻因?yàn)槠铺珖?yán)重,拉丁文考試不及格,沒(méi)能考上大學(xué)。
復(fù)讀一年后,赫柏考上韋莎學(xué)院。這所大學(xué)在2012年《福布斯》公布的美國(guó)最好大學(xué)中排名第20位,新聞報(bào)道更是將它評(píng)價(jià)為最值得選擇的大學(xué)。
畢業(yè)時(shí),赫柏不僅同時(shí)獲得數(shù)學(xué)、物理學(xué)位,還獲得美國(guó)優(yōu)等生的榮譽(yù),留校擔(dān)任教師的她被聘為學(xué)院副教授。
利用獲得的獎(jiǎng)學(xué)金,赫柏再次考進(jìn)耶魯大學(xué)深造,2年后取得數(shù)學(xué)碩士學(xué)位,繼而又攻讀博士學(xué)位,成為了耶魯大學(xué)歷史上第一位女?dāng)?shù)學(xué)博士。
世俗眼中最美好青春的年華,赫柏都花在了學(xué)問(wèn)的深造上。
畢業(yè)后,赫柏回到韋莎學(xué)院教書(shū)。
但人生總是會(huì)出現(xiàn)各種意想不到的轉(zhuǎn)折點(diǎn),對(duì)赫柏來(lái)說(shuō),這個(gè)拐點(diǎn)是二戰(zhàn)。
赫柏的曾祖父是一名海軍將軍。1939年二戰(zhàn)爆發(fā)時(shí),滿(mǎn)懷愛(ài)國(guó)熱情的赫柏也堅(jiān)決要求加入海軍。
參軍要經(jīng)過(guò)考試,盡管赫柏身高體重都不合格,她死磨硬纏硬是說(shuō)服了考官,讓自己進(jìn)入海軍軍校學(xué)習(xí),并以第一名的成績(jī)畢業(yè)。
畢業(yè)的赫柏因?yàn)槌錾臄?shù)學(xué)背景,被分配到美國(guó)船舶局位于哈佛大學(xué)的戰(zhàn)時(shí)科研中心。
彼時(shí),軍方正在開(kāi)展世界第一臺(tái)大型數(shù)字計(jì)算機(jī)的研究項(xiàng)目——馬克一號(hào)。赫柏被任命為著名計(jì)算機(jī)專(zhuān)家霍德艾肯博士的助手,成為這個(gè)項(xiàng)目的第三名程序員。
在這兒,赫柏開(kāi)啟了自己程序員的生涯。
她的主要任務(wù),就是為馬克一號(hào),還有接下來(lái)的馬克二號(hào),馬克三號(hào)編寫(xiě)程序與軟件。
一天,計(jì)算機(jī)發(fā)生故障,赫柏經(jīng)過(guò)排查,在計(jì)算機(jī)的繼電器觸電里,找到了一只被夾扁的小飛蛾,這只小蟲(chóng)子卡住了機(jī)器的運(yùn)行,赫柏順手將飛蛾夾在工作筆記里,并詼諧的把程序故障稱(chēng)為“bug”。
這就是我們今天最?lèi)?ài)說(shuō)的“bug”的由來(lái)。它的意思,和原身一致,真就是“一只蟲(chóng)”。
這一稱(chēng)呼后來(lái)演變成表達(dá)缺陷漏洞的計(jì)算機(jī)專(zhuān)業(yè)術(shù)語(yǔ),人們習(xí)慣地把排除程序故障叫做“debug”(除蟲(chóng))。
當(dāng)時(shí)的計(jì)算機(jī)只能識(shí)別機(jī)器語(yǔ)言——由二進(jìn)制代碼1和0表示的特定指令集合,而且不同型號(hào)的計(jì)算機(jī)使用的機(jī)器語(yǔ)言不一樣,每次使用新的計(jì)算機(jī)都要程序員背一套新的指令,想想就令人絕望。
再說(shuō)了,這些全是由“01001001010101010000010111100……”的觀感性真的奇差,非常非常容易出錯(cuò),程序員們檢查起來(lái)更是萬(wàn)念俱灰。
眼看頭發(fā)越掉越多的赫柏想要改變程序員的工作處境,維護(hù)大家身心健康。她決心開(kāi)發(fā)一套高級(jí)編程語(yǔ)言,讓人們能夠以接近英語(yǔ)寫(xiě)作的方式來(lái)編寫(xiě)程序。
那么問(wèn)題來(lái)了,如何才能讓計(jì)算機(jī)讀懂英文?
1949年,赫柏加盟了第一臺(tái)電子計(jì)算機(jī)發(fā)明人莫契利和艾科特創(chuàng)辦的公司,為世界上第一臺(tái)儲(chǔ)存程序的商業(yè)電腦編寫(xiě)了許多軟件,在這臺(tái)計(jì)算機(jī)上,她開(kāi)始嘗試著用簡(jiǎn)短的指令代碼。
1952年,赫柏終于率先研制出世界上第一個(gè)編譯程序A—O,能夠?qū)㈩?lèi)似英語(yǔ)的符號(hào)代碼轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的機(jī)器指令。不要小看這個(gè)編譯程序,它有著電子詞典的翻譯功能,能夠?qū)⑽覀兊恼Z(yǔ)言翻譯給計(jì)算機(jī)。
翻譯器有了,但目前程序員敲打的符號(hào)代碼只是類(lèi)似英文,赫柏覺(jué)得有必要設(shè)計(jì)一套更簡(jiǎn)單的機(jī)器語(yǔ)言。
5年后,F(xiàn)low—matic語(yǔ)言問(wèn)世了,這是第一個(gè)使用詞語(yǔ)的計(jì)算機(jī)語(yǔ)言。這個(gè)時(shí)候,政府也感覺(jué)到這將是一件造福國(guó)家的事兒,于是在五角大樓的支持下,赫柏領(lǐng)導(dǎo)著一個(gè)工作委員會(huì)。2年后,基于Flow語(yǔ)言,又成功研制出第一個(gè)商用編程語(yǔ)言COBOL。
這是赫柏發(fā)明前進(jìn)的一小步,卻是人類(lèi)計(jì)算機(jī)前進(jìn)的一大步。
COBOL語(yǔ)言最重要的特征,就是語(yǔ)法都和英文接近了,不懂電腦的人也能看程序,編譯器軟件只做少許修改,就能運(yùn)行于任何類(lèi)型的電腦。
不過(guò),再好的程序員也都有出bug的時(shí)候,正因?yàn)镃OBOL語(yǔ)言逐漸的廣泛使用,赫柏當(dāng)初的一個(gè)小bug成為了“危害巨大的千年蟲(chóng)”。
50年代初,計(jì)算機(jī)非常昂貴,為了節(jié)省空間,赫柏采用六位數(shù)來(lái)儲(chǔ)存日期,即年月日各兩位,這一習(xí)慣被沿用,然而,到2000年,問(wèn)題出現(xiàn)了。
簡(jiǎn)單來(lái)說(shuō),2000年1月1日的表示是1/1/00,但是1900年1月1日的表示也是1/1/00,所以在進(jìn)入千禧年時(shí),因?yàn)橛?jì)算機(jī)里時(shí)間的錯(cuò)誤,讓很多系統(tǒng)、軟件、程序完全亂套。
這些也是后話了。
盡管曾在很多公司供職,赫柏都是加盟、兼職,作為服役的軍人,她的大東家還是美國(guó)海軍部。
1966年,赫柏60歲,到了美國(guó)軍方服役的年齡上限。只是回家才休息半年,赫柏就被召回了。因?yàn)樗蛔?,美?guó)海軍部就發(fā)現(xiàn)有大量他們無(wú)法處理的程序,他們?yōu)榇粟s快修改了原有規(guī)章,將退休年齡延長(zhǎng)到65歲。
又工作了五年的赫柏于1971年“第二次退休”。這次比上次好,海軍部撐了一年,1972年,又把赫柏“召喚”了回來(lái)。
最后,眾議院特別批準(zhǔn)讓赫柏延長(zhǎng)服役年限,參與軍方計(jì)劃。所以,本該60歲退休的赫柏,直到1986年才終于“成功”退役,79歲的她成了美國(guó)退伍時(shí)年級(jí)最大的軍人。
為表彰赫柏對(duì)美國(guó)海軍的貢獻(xiàn),美國(guó)海軍將一艘驅(qū)逐艦命名為“格蕾絲號(hào)”,加利福尼亞數(shù)據(jù)處理中心,也改稱(chēng)“赫柏服務(wù)中心”。
1992年1月1日,格蕾絲·赫柏與世長(zhǎng)辭。
她將一生獻(xiàn)給工作,獻(xiàn)給國(guó)家,也獻(xiàn)給了人類(lèi)。
Cobol語(yǔ)言目前仍被大范圍使用,世界上70%的數(shù)據(jù)都用它處理,500強(qiáng)中就有492家使用,據(jù)稱(chēng)用它書(shū)寫(xiě)的程序超過(guò)了2000億行,并且以每年大約50億行的速度在增長(zhǎng)。
多少人因?yàn)樗趴炊舜a,愛(ài)上了代碼,繼而在這個(gè)電子時(shí)代創(chuàng)造出一個(gè)個(gè)的進(jìn)步與奇跡。
世界的腳步,伴著她,走向一個(gè)新的時(shí)代。
2016年,赫柏被奧巴馬追授總統(tǒng)自由勛章,這也是,這個(gè)國(guó)家的平民所能獲得的最高榮譽(yù)。
免責(zé)聲明:以上內(nèi)容版權(quán)歸原作者所有,如有侵犯您的原創(chuàng)版權(quán)請(qǐng)告知,我們將盡快刪除相關(guān)內(nèi)容。感謝每一位辛勤著寫(xiě)的作者,感謝每一位的分享。
- 有價(jià)值
- 一般般
- 沒(méi)價(jià)值
{{item.userName}} 舉報(bào)
{{item.time}} {{item.replyListShow ? '收起' : '展開(kāi)'}}評(píng)論 {{curReplyId == item.id ? '取消回復(fù)' : '回復(fù)'}}
{{_reply.userName}} 舉報(bào)
{{_reply.time}}