編輯:Aeneas 好困
【新智元導(dǎo)讀】她,不僅編寫了第一個(gè)匯編語(yǔ)言,而且還完成了史上最早的機(jī)器翻譯奠基工作。
2022年9月,匯編語(yǔ)言之母Kathleen Booth,在加拿大去世,享年100歲。
匯編語(yǔ)言之母
Kathleen Hylda Valerie Booth教授是英國(guó)早期的計(jì)算機(jī)先驅(qū)之一。
想象一下,必須通過(guò)重新布線來(lái)對(duì)計(jì)算機(jī)進(jìn)行編程。是不是很不可思議?
1951年對(duì)ENIAC進(jìn)行編程
在1940年代中期,第一臺(tái)通用電子計(jì)算機(jī)就是以這種方式工作的。
像ENIAC這樣的計(jì)算機(jī),最初并沒(méi)有用于代碼的內(nèi)部存儲(chǔ)。如果我們想要用它編程,就要操縱數(shù)千個(gè)開關(guān)和電纜,而這些開關(guān)和電纜所在的位置,就是程序。
所有帶旋轉(zhuǎn)開關(guān)的單元都是需要大量編程的地方
此時(shí)的編程,必須手動(dòng)更改數(shù)千根電纜和開關(guān),或者在卡片上打孔,然后將卡片送入計(jì)算機(jī),這可能需要數(shù)天時(shí)間,而且極易出錯(cuò)。
在Kathleen Booth開始研究計(jì)算機(jī)的那個(gè)年代,有那么一小群人,開始產(chǎn)生了將程序存儲(chǔ)在計(jì)算機(jī)內(nèi)部的想法。而她也是最早研究「軟件」這一新概念的人之一,她從中看到了需求,發(fā)明了匯編語(yǔ)言,使計(jì)算機(jī)編程更加人性化。
1922年7月9日,Kathleen Hylda Valerie Britten出生于英國(guó)伍斯特郡。
二戰(zhàn)期間,她就讀于倫敦大學(xué)皇家霍洛威學(xué)院,并于1944年獲得數(shù)學(xué)學(xué)士學(xué)位。
畢業(yè)后,她成為一名皇家飛機(jī)研究所的研究員。兩年后,她入職倫敦大學(xué)伯貝克學(xué)院(Birkbeck College),先后擔(dān)任研究助理、講師、研究員。
她還曾在英國(guó)橡膠生產(chǎn)商研究協(xié)會(huì)(BRPRA)工作,就是在那里,她遇到了未來(lái)的丈夫——數(shù)學(xué)家、物理學(xué)家Andrew Donald Booth。
Andrew Booth在與X射線晶體學(xué)家JD Bernal 教授(伯納爾球的發(fā)明者)合作期間,使用X射線衍射數(shù)據(jù)來(lái)研究晶體結(jié)構(gòu)。他發(fā)現(xiàn)手動(dòng)計(jì)算非常繁瑣,于是造了一臺(tái)模擬計(jì)算機(jī),來(lái)自動(dòng)化部分步驟。
1946年,他在伯貝克擔(dān)任納菲爾德研究員。但由于學(xué)院沒(méi)有空間,而且由于BRPRA為其提供資金,所以他的工作是在BRPRA的設(shè)施上完成的。
就在那時(shí),他遇到了Kathleen。同年,Kathleen和Andrew在伯貝克學(xué)院合作發(fā)明了一臺(tái)早期的數(shù)字計(jì)算機(jī)——自動(dòng)中繼計(jì)算機(jī)(ARC)。ARC使用紙帶進(jìn)行輸入,實(shí)際上是一臺(tái)用作傅立葉合成器的專用計(jì)算機(jī)。
Kathleen、Xenia Sweeting和Andrew于1946年在ARC上工作
Andrew Booth設(shè)計(jì)了ARC,而Kathleen Britten和助理Xenia Sweeting構(gòu)建了硬件。
在此期間,他們一同創(chuàng)建了如今的伯貝克計(jì)算機(jī)科學(xué)與信息系統(tǒng)系。
1945年,約翰·馮·諾依曼(John von Neumann)撰寫了一份名為「EDVAC報(bào)告初稿」的文件,在這份文件中,他描述了后來(lái)被稱為計(jì)算機(jī)的馮·諾依曼架構(gòu)。
在這個(gè)架構(gòu)中,他定義了計(jì)算機(jī)的各個(gè)部分,特別是存儲(chǔ)在計(jì)算機(jī)內(nèi)存中的程序。出于這個(gè)原因,它也被稱為存儲(chǔ)程序計(jì)算機(jī)。
在經(jīng)典的馮·諾依曼計(jì)算機(jī)架構(gòu)中,地址空間大部分用于指向內(nèi)存,其余部分用于指向外部設(shè)備:內(nèi)存并不關(guān)心里面存儲(chǔ)的是什么
1947年,Andrew和Kathleen在普林斯頓大學(xué)與馮諾依曼和IAS機(jī)器合作時(shí),編寫了一個(gè)程序,用于在電子計(jì)算機(jī)上實(shí)現(xiàn)翻譯詞典,前提是提供必要的存儲(chǔ)容量。這是史上最早的機(jī)器翻譯奠基工作。
在這一年,Bernal幫助Kathleen和Andrew從洛克菲勒基金會(huì)申請(qǐng)到了訪問(wèn)普林斯頓高等研究院的資金。在此期間,Andrew和Kathleen與馮諾依曼一起共事了6個(gè)月。
根據(jù)Andrew的說(shuō)法,在訪問(wèn)期間,只有Bernal的朋友約翰·馮·諾伊曼在任何時(shí)間都會(huì)接待他們。
一個(gè)簡(jiǎn)化的內(nèi)存管理系統(tǒng)——CPU中的程序計(jì)數(shù)器不再直接指向內(nèi)存,而是產(chǎn)生一個(gè)進(jìn)入MMU的虛擬地址,重定位常量添加到虛擬地址,以在內(nèi)存中創(chuàng)建物理地址
就是這次訪問(wèn),讓他們第一次聽說(shuō)了馮諾依曼架構(gòu)。受到啟發(fā),他們重新設(shè)計(jì)了ARC,僅用了2個(gè)月就設(shè)計(jì)了機(jī)器的繼電器部分,并且提出了關(guān)于ARC2的構(gòu)想。
還是在1947年,Kathleen和他還寫了兩份關(guān)于它的報(bào)告《通用電子數(shù)字計(jì)算機(jī)設(shè)計(jì)中的一般考慮因素》和《ARC編碼》。其中第一份報(bào)告廣為流傳。在其中,他們?cè)敿?xì)介紹了馮諾依曼架構(gòu)機(jī)器,并介紹了內(nèi)存的不同選項(xiàng)。
此外,這份報(bào)告還描述了她發(fā)明「匯編語(yǔ)言」的前身,她在報(bào)告中將其命名為Contracted Notation。這是對(duì)計(jì)算機(jī)編程進(jìn)行抽象思考的第一步,無(wú)需編寫顯式的1和0或機(jī)器代碼指令。
在這份報(bào)告中,Kathleen的編程能力大放異彩。并且,她設(shè)想了同步與異步操作的可能性,這可是在1947年!在此之后,我們唯一能夠找到的異步描述來(lái)自1980年代中期。
同步與異步操作將允許程序中的多條指令并行執(zhí)行。因此,在執(zhí)行下一條指令之前,程序不會(huì)被阻止等待當(dāng)前指令的結(jié)果。這將有效地改善程序執(zhí)行時(shí)間,即處理所有指令所需的時(shí)間。
摘自《通用電子數(shù)字計(jì)算機(jī)設(shè)計(jì)中的一般考慮因素》
第二份報(bào)告「Coding For ARC」,于1947年9月出版。在這份報(bào)告里,Kathleen首次詳細(xì)介紹了ARC2「匯編語(yǔ)言」。
在該報(bào)告中,Kathleen還解釋了orders(現(xiàn)在稱為指令instructions)是如何由加載到某種存儲(chǔ)中的0和1表示的。
通過(guò)匯編語(yǔ)言,我們不必再記住機(jī)器代碼10010110作為指令,只需記住并輸入?yún)R編語(yǔ)言助記符MOV作為指令。
不過(guò),目前已無(wú)法找到這份報(bào)告的數(shù)字副本。
在1948年,Andrew和Kathleen將研究方向轉(zhuǎn)向簡(jiǎn)單電子計(jì)算機(jī)(SEC),然后是通用電子X(jué)射線計(jì)算機(jī)或APE(X)C?,F(xiàn)在,我們可以在MESS模擬器中試用APE(X)C 。
Hollerith電子計(jì)算機(jī)(HEC)是世界上現(xiàn)存最早的電子計(jì)算機(jī)之一
他們最著名的機(jī)器APEC(通用電子計(jì)算機(jī))是在1949年設(shè)計(jì)出來(lái)的。
1951年,BTM使用其硬件電路作為HEC1計(jì)算機(jī)設(shè)計(jì)的基礎(chǔ),這種計(jì)算機(jī)在1950年代末直接成為最暢銷的英國(guó)計(jì)算機(jī),安裝了近100臺(tái)。
在下面這個(gè)視頻中,可以看到關(guān)于HEC1的介紹。
Andrew發(fā)明了一種并行乘法器算法,該算法仍然構(gòu)成現(xiàn)代計(jì)算機(jī)芯片(布斯乘法器)中乘法電路的基礎(chǔ)。
他們還一起發(fā)明了旋轉(zhuǎn)存儲(chǔ)設(shè)備。在1940年代后期,他們?cè)噲D制造可工作的光盤,但失敗了,不過(guò),他們成功地建造了世界上第一個(gè)磁鼓存儲(chǔ)器,該存儲(chǔ)在1950年代被廣泛用于主存儲(chǔ)器和后備存儲(chǔ)。
在磁鼓存儲(chǔ)器中,信息存儲(chǔ)在滾筒上的可磁化條上,數(shù)字信息存儲(chǔ)為二進(jìn)制磁性圖案
1950年,Kathleen和Andrew結(jié)婚,就在同年,Kathleen從倫敦大學(xué)獲得了應(yīng)用數(shù)學(xué)博士學(xué)位。
為了爭(zhēng)取更多資金,兩夫婦再次前往洛克菲勒基金會(huì)。基金會(huì)提出的條件:必須讓APE(C)X既可以用人類語(yǔ)言,也可以用數(shù)學(xué)語(yǔ)言。這也就是我們所熟知的自然語(yǔ)言處理。
他們做到了,在1955年11月,他們展示了機(jī)器翻譯的過(guò)程。
他們的目標(biāo)是實(shí)現(xiàn)準(zhǔn)確的技術(shù)翻譯,而不是追求文學(xué)質(zhì)量。
他們?cè)诓惪藢W(xué)院時(shí),與學(xué)生一起做了很多NLP的工作,同時(shí)在1965年至1972年間,他們?yōu)榧幽么髧?guó)家研究委員會(huì)從事英法翻譯工作。
Kathleen在1958年出版的《自動(dòng)數(shù)字計(jì)算器編程》,可能是第一本由女性撰寫的關(guān)于編程的書。
在這本書中,她介紹了和同事在1965年之前一直在研究的一些算法,比如單詞替換、詞干和詞尾處理。
她的另一個(gè)開創(chuàng)性工作是通過(guò)編程模擬神經(jīng)網(wǎng)絡(luò),來(lái)識(shí)別動(dòng)物。這距離史上第一次在計(jì)算機(jī)上運(yùn)行神經(jīng)網(wǎng)絡(luò),僅僅過(guò)了四年。
Booth一家于1962年離開伯貝克學(xué)院,移居加拿大,先后在薩斯喀徹溫大學(xué)、湖首大學(xué)工作。
她于 1978 年從湖首大學(xué)退休,但可以看到,在1993年、她已經(jīng)71歲高齡時(shí),還發(fā)表了和兒子Ian JM Booth博士共同撰寫的論文《使用神經(jīng)網(wǎng)絡(luò)識(shí)別海洋哺乳動(dòng)物》。
Kathleen Booth于2022年9月29日去世。伯貝克學(xué)院發(fā)文悼念。
David Wheeler:1985年計(jì)算機(jī)先鋒獎(jiǎng)得主
不過(guò),相比于這位來(lái)自英國(guó)的女性,更加廣為人知的是另一位男性——David Wheeler。
為此,美國(guó)IEEE計(jì)算機(jī)協(xié)會(huì)還在1985年為他頒發(fā)了計(jì)算機(jī)先鋒獎(jiǎng)。
當(dāng)時(shí),作為與Maurice Wilkes一起研究劍橋大學(xué)Edsac(電子延遲存儲(chǔ)自動(dòng)計(jì)算機(jī))的團(tuán)隊(duì)成員,David Wheeler負(fù)責(zé)為計(jì)算機(jī)提供指令的系統(tǒng)。
Wheeler開發(fā)的「初始指令」(initial orders)讓Edsac的指令可以用一種簡(jiǎn)單的語(yǔ)言編寫,而不再是「人肉輸入」二進(jìn)制數(shù)字。
此外,他還開發(fā)了「Wheeler Jump」,允許程序?qū)⒖刂茩?quán)傳遞給子程序,也就是用Basic寫過(guò)程序的人都知道的「goto」語(yǔ)句的前身。
David John Wheeler于1927年出生在伯明翰。1945年,他獲得了劍橋大學(xué)三一學(xué)院的獎(jiǎng)學(xué)金,在那里他學(xué)習(xí)數(shù)學(xué),并于1948年畢業(yè)。
在此期間,Maurice Wilkes在重新開放的數(shù)學(xué)實(shí)驗(yàn)室工作,從事一個(gè)名為Edsac的存儲(chǔ)程序電子計(jì)算機(jī)的建造項(xiàng)目。
Edsac的第一個(gè)程序于1949年3月在Edsac上運(yùn)行,其中就包括了Wheeler開發(fā)的「初始命令」,一個(gè)可以將簡(jiǎn)單的命令翻譯成計(jì)算機(jī)所需的二進(jìn)制指令的程序。這使得Edsac可以由非專業(yè)人員進(jìn)行編程,并標(biāo)志著編程語(yǔ)言的發(fā)展邁出了第一步。
為Edsac編寫程序的經(jīng)驗(yàn)使Wheeler和他的同事Maurice Wilkes和Stanley Gill在1951年出版了第一本針對(duì)程序員的書「The Preparation of Programs for an Electronic Digital Computer」,同年,Wheeler獲得了實(shí)驗(yàn)室授予的第一個(gè)博士學(xué)位。
1955年,應(yīng)用數(shù)學(xué)的研究學(xué)生Joyce Blackler開始在工作中使用Edsac,并認(rèn)識(shí)了David Wheeler。他們于1957年8月結(jié)婚。
1965年他成為達(dá)爾文學(xué)院的研究員,1966年在加利福尼亞大學(xué)伯克利分校工作,研究如何將在線終端與大型計(jì)算機(jī)連接起來(lái)。1968年,他在貝爾實(shí)驗(yàn)室工作了一段時(shí)間。1977年,他成為計(jì)算機(jī)科學(xué)教授。
他在1970年被選為英國(guó)計(jì)算機(jī)學(xué)會(huì)的會(huì)員,1981年成為最早被選為皇家學(xué)會(huì)會(huì)員的計(jì)算機(jī)科學(xué)家之一。
1984:美國(guó)女性離開代碼的那一年
但凡是對(duì)編程歷史有所了解的人,必然聽說(shuō)過(guò)Ada Lovelace和Grace Hopper。她們和其他從業(yè)的女性一起,對(duì)現(xiàn)代編程產(chǎn)生了巨大影響。
但現(xiàn)在,你能叫出名字的「大人物」,無(wú)疑是像史蒂夫·喬布斯、比爾·蓋茨和馬克·扎克伯格這樣的男性。
那么,曾經(jīng)的女性都去了哪里?
時(shí)間回到第二次世界大戰(zhàn)期間,當(dāng)時(shí)第一批「程序員」有很多都是女性,如計(jì)算公司(CompInc.)的創(chuàng)始人Elsie Shutt和創(chuàng)造了第一個(gè)編譯器的Grace Hopper。
戰(zhàn)爭(zhēng)勝利之后,雖然有越來(lái)越多的男性加入,但女性不僅仍然從事著科學(xué)和技術(shù)領(lǐng)域工作,而且攻讀計(jì)算機(jī)科學(xué)學(xué)位的人數(shù)也在不斷增長(zhǎng)。
直到,1984年……
在20世紀(jì)80年代中期,計(jì)算機(jī)開始成為美國(guó)人的家庭用品。
當(dāng)時(shí),計(jì)算機(jī)在市場(chǎng)上的定位主要是面向商業(yè)和游戲的,而這兩類產(chǎn)品的受眾基本上都是男性。
此外,電影院里的電影和電視上的廣告為程序員確立了一個(gè)獨(dú)特的身份:書呆子,年輕男性。
看看這個(gè)玩具反斗城的Commodore 64的廣告就知道了。
不難想象,初高中的男孩們顯然會(huì)比同齡的女孩,更容易接觸到電腦。
而這一差距,在他們升入大學(xué)時(shí)便會(huì)顯現(xiàn)出來(lái)。
上世紀(jì)70年代,計(jì)算機(jī)科學(xué)的教授普遍認(rèn)為新生是不具備任何計(jì)算機(jī)相關(guān)的經(jīng)驗(yàn)。但隨著個(gè)人電腦在80年代變得越來(lái)越普及,教授們也越來(lái)越覺(jué)得他們的學(xué)生是玩著電腦長(zhǎng)大的。
對(duì)于家里沒(méi)有電腦的Patricia Ordó?ez來(lái)說(shuō),這無(wú)疑是一道難以逾越的鴻溝。
還在上中學(xué)的時(shí)候,Ordó?ez數(shù)學(xué)成績(jī)極佳。因此,當(dāng)他進(jìn)入約翰霍普金斯大學(xué)時(shí),最初的志愿是攻讀計(jì)算機(jī)科學(xué)或電氣工程專業(yè)。
然而,當(dāng)Ordó?ez來(lái)到第一堂入門課時(shí)才發(fā)現(xiàn),周圍男同學(xué)對(duì)計(jì)算機(jī)的了解都比她要早得多,而自己卻不得不問(wèn)一些「常識(shí)性問(wèn)題」。
「有一次,教授在回答完之后,停下來(lái)看著我說(shuō):『現(xiàn)在你應(yīng)該知道了吧。』」
雖然Ordó?ez在后來(lái)也通過(guò)了課程,但也獲得了人生中第一個(gè)C。最終,她選擇放棄,主修了外語(yǔ)。
不過(guò),十多年后,她又回到了計(jì)算機(jī)領(lǐng)域,并最終獲得了計(jì)算機(jī)科學(xué)的博士學(xué)位?,F(xiàn)在她是波多黎各大學(xué)的計(jì)算機(jī)科學(xué)助理教授。
參考資料:
https://www.theregister.com/2022/10/29/kathleen_booth_obit/
https://hackaday.com/2018/08/21/kathleen-booth-assembling-early-computers-while-inventing-assembly/
https://www.dcs.bbk.ac.uk/about/history/
https://www.computer.org/profiles/david-wheeler
https://www.codefellows.org/blog/1984-year-women-left-coding/
以上就是【第2個(gè)太瘋狂了!干貨滿滿(百歲的歲字怎么寫)100歲的歲字怎么寫-百歲匯編語(yǔ)言之母逝世!71歲時(shí)她還在和兒子合寫神經(jīng)網(wǎng)絡(luò)論文】的全部?jī)?nèi)容。
評(píng)論