九款編程語言以及締造它們的偉大女性
譯文從大型機(jī)步入主流市場至今,女性這半邊天已經(jīng)為我們設(shè)計(jì)并開發(fā)出了大量出色、而且目前仍給軟件開發(fā)領(lǐng)域帶來深遠(yuǎn)影響的編程語言。
九款編程語言以及締造它們的偉大女性
從第一印象來講,軟件開發(fā)工作似乎一直是個男性主導(dǎo)下的世界。但盡管如此,女性在過去幾十年中,同樣給編程技術(shù)帶來重要且至今仍具有關(guān)鍵意義的貢獻(xiàn)成果。作為其中的一大核心區(qū)劃,編程語言的開發(fā)工作中亦不乏女性從業(yè)者們的身影。無數(shù)女性技術(shù)先驅(qū)者們早在大型機(jī)與機(jī)器碼稱雄的時代就開始設(shè)計(jì)并開發(fā)用于向計(jì)算機(jī)設(shè)備下達(dá)指令的語言,并在隨后的匯編以及更高級別的現(xiàn)代語言時代下繼續(xù)作出諸多貢獻(xiàn)。在今天的文章中,我們將一同了解九款出于女性技術(shù)人員之手的編程語言、它們多年來所產(chǎn)生的重大影響以及其背后締造者們的故事。
ARC匯編語言
締造者: Kathleen Booth
年份: 1950年
背景故事:在早期計(jì)算機(jī)編程流程當(dāng)中,我們必須以機(jī)器碼方式直接編寫程序,也就是說必須編寫計(jì)算機(jī)能夠解讀并據(jù)此采取行動的一系列1與0組合。匯編語言的出現(xiàn)讓程序員們得以通過助記符的形式來編寫機(jī)器指令,而且由機(jī)器碼向匯編碼轉(zhuǎn)化的趨勢也讓計(jì)算機(jī)編程變得更容易也更可靠。出現(xiàn)時間最早的匯編語言之一出自Kathleen Botth之手,她當(dāng)時在英國的伯克貝克學(xué)院任教。該語言專門針對ARC(即自動繼電器計(jì)算機(jī))所開發(fā),而后者的設(shè)計(jì)與構(gòu)建工作同樣有Booth的參與。
Address
締造者: Kateryna Yushchenko
年份: 1955年
背景故事:歐洲地區(qū)誕生的第一款可編程計(jì)算機(jī)名為MESM,其由蘇聯(lián)于1950年所打造。負(fù)責(zé)其運(yùn)作管理工作的科學(xué)家之一正是位于基輔的烏克蘭科學(xué)院尤先科SSR數(shù)學(xué)研究所的Kateryna Yushchenko,她同時也是第一位被蘇聯(lián)授予物理與數(shù)學(xué)科學(xué)規(guī)劃博士頭銜的女性。由于在MESM上使用機(jī)器碼進(jìn)行編程的難度很高,因此Yushcenko和她的同事們認(rèn)為有必要打造一套更為高級的編程語言來簡化這方面的工作。1955年,Yushchenko創(chuàng)造出了Address編程語言,這是第一種支持間接尋址機(jī)制的語言、而且出現(xiàn)時間早于西方發(fā)達(dá)國家的諸多知名高級語言——例如COBOL。Address在隨后的二十多年中一直被蘇聯(lián)所廣泛使用。
#p#
COBOL
締造者: Grace Hopper及其他來自數(shù)據(jù)系統(tǒng)語言記錄會議的成員
年份: 1959年
背景故事:COBOL,全稱為面向商業(yè)的通用語言,最初的誕生契機(jī)源自美國政府以及各大企業(yè)對于能夠埃不同計(jì)算機(jī)設(shè)備之上、能夠?yàn)榉羌夹g(shù)人員使用的數(shù)據(jù)處理編程語言的需求。該委員會負(fù)責(zé)著這一新型編程語言的開發(fā),而Grace Hopper正是美國海軍方面的關(guān)鍵性技術(shù)顧問之一。早在邁入這一行業(yè)頭一個十年,Hopper就曾經(jīng)在面對UNIVAC系統(tǒng)時創(chuàng)建出了第一款編譯器——也就是A-O——以及一系列其它早期高級編程語言,例如ARITH-MATIC以及B-0、或者叫作FLOW-MATIC。誕生于1955年的FLOW-MATIC是一款采用英文關(guān)鍵詞的商務(wù)應(yīng)用程序開發(fā)語言。隨后于1959年出現(xiàn)的COBOL最終繼承了FLOW-MATIC中的大部分設(shè)計(jì)思路,并于次年推出了第一套正式版本——正是因?yàn)檫@一點(diǎn),Hopper被業(yè)界尊為COBOL之母。
FORMAC
締造者: Jean Sammet
年份: 1962年
背景故事: FORTRAN語言于上世紀(jì)五十年代由IBM公司開發(fā)而成,其主要面向數(shù)學(xué)計(jì)算以及科學(xué)計(jì)算任務(wù)。而在1961年,IBM公司雇用了數(shù)學(xué)家Jean Sammet。她此前曾經(jīng)在在Sperry Gyroscope以及Sylvania負(fù)責(zé)科學(xué)編程類工作,并與Grace Hopper一同參與了COBOL語言的開發(fā)。1962年,Sammet在IBM公司開發(fā)出了編程語言FORMAC(即FORmula MAnipulation Compiler,公式操作編譯器)。而作為其擴(kuò)展成果之一,F(xiàn)ORTRAN能夠執(zhí)行各類代數(shù)運(yùn)算。FORMAC而后成為第一款被廣泛用于進(jìn)行符號型數(shù)學(xué)計(jì)算的編程語言。
Logo
締造者: Cynthia Solomon協(xié)同Daniel G. Bobrow、Wally Feurzeig以及Seymour Papert
年份: 1967年
背景故事: 在上世紀(jì)六十年代末期,來自馬薩諸塞州坎布里奇Bolt、Beranek以及Newman的研究小組成員們意識到有必要開發(fā)一套專門面向兒童的、大量采用單詞與語句而非數(shù)字及符號的編程語言——這一設(shè)計(jì)思路與當(dāng)時的各類主流編程語言有著明顯的區(qū)別。其中一位研究人員正是Cynthia Solomon,她的計(jì)算機(jī)科學(xué)之旅始于在人工智能先驅(qū)機(jī)構(gòu)麻省理工學(xué)院Marvin Minsky自學(xué)Lisp語言的經(jīng)歷。Solomon參與了這款名為Logo的全新語言的開發(fā)工作,并于上世紀(jì)六十年代末制定了向七年級學(xué)生教授其使用方法的指導(dǎo)細(xì)則。Logo語言最知名的象征性應(yīng)用就是我們耳熟能詳?shù)男『}敊C(jī)器人,用戶可以對其發(fā)出指令以繪制各類幾何圖形。Solomon最終加入到麻省理工學(xué)院的人工智能實(shí)驗(yàn)室,隨后還負(fù)責(zé)了蘋果商標(biāo)的創(chuàng)造工作。Logo影響了此后出現(xiàn)的多種教育性編程語言,例如SmallTalk以及Scratch。
#p#
CLU
締造者: Barbara Liskov
年份: 1974年
背景故事: 面向?qū)ο笮途幊陶Z言的一大革命性發(fā)展標(biāo)志正是上世紀(jì)七十年代中期CLU語言的誕生。CLU的設(shè)計(jì)與開發(fā)由麻省理工學(xué)院的Barbara Liskov負(fù)責(zé)領(lǐng)導(dǎo),而她也是美國歷史上第一位獲得計(jì)算機(jī)科學(xué)博士學(xué)位的女性。通過CLU語言,Liskov提出了諸多概念(或者說將其引入流行),其中包括抽象數(shù)據(jù)類型、迭代器以及并行作業(yè)等等。CLU本身并不屬于面向?qū)ο笳Z言,因?yàn)樗承╆P(guān)鍵性的面向?qū)ο筇匦裕缋^承。CLU雖然從來沒能得到廣泛應(yīng)用,但它卻給其后的眾多著名語言帶來了巨大的影響,例如Java、Python以及C++,它們都或多或少地采納了來自CLU的先驅(qū)性概念。
Smalltalk
締造者: Adele Goldberg協(xié)同Alan Kay、Dan Ingalls、Ted Kaehler、Diana Merry、Scott Wallace、Peter Deutsch以及其他Xerox PARC成員
年份: 1980年
背景故事: 正如二十年前COBOL的誕生讓編程真正走入尋常百姓家,SmallTalk的一大設(shè)計(jì)目標(biāo)正是構(gòu)建一種適用于任何一位用戶——而不僅僅是計(jì)算機(jī)科學(xué)家——并允許他們借此開發(fā)應(yīng)用程序的語言。SmallTalk由Xerox公司的帕洛阿爾托研究中心(簡稱PARC)在Alan Kay的指導(dǎo)下創(chuàng)建而成,她的設(shè)計(jì)靈感則來源于Simula、世界上第一款面向?qū)ο蟪绦颉?973年,Adele Goldberg加入到Kay在PARC的開發(fā)團(tuán)隊(duì),并在SmallTalk及其各類先驅(qū)性概念——例如模式-視圖-控制器(圖形化用戶界面背后的關(guān)鍵性概念)、所見即所得編輯器以及集成化開發(fā)環(huán)境——的構(gòu)建過程中扮演著重要角色。1979年,Goldberg在一臺PARC Alto計(jì)算機(jī)上向Steve Jobs及其手下程序員展示了SmallTalk演示素材及其GUI設(shè)計(jì),而這直接啟發(fā)了蘋果旗下Macintosh桌面系統(tǒng)的誕生。SmallTalk最初于1980年首次以SmallTalk-80的名頭公開亮相,并對隨后出現(xiàn)的多種知名編程語言產(chǎn)生了深遠(yuǎn)影響,包括Java、Objective-C以及Python。
#p#
BBC BASIC
締造者: Sophie Wilson
年份: 1981年
背景故事: BBC BASIC也許是在史以來惟一一種專門為電視節(jié)目所開發(fā)出的編程語言。1981年,BBC公司希望推動一套名為“計(jì)算機(jī)素養(yǎng)項(xiàng)目”的電視節(jié)目,用于指導(dǎo)普通百姓學(xué)會編程。不過BBC公司的技術(shù)顧問們認(rèn)為現(xiàn)有的BASIC版本還不足以完成這一目標(biāo)。為了解決這個問題,BBC方面專而向Acorn Computers公司尋求幫助,希望由后者打造一款名為BBC Micro的新型計(jì)算機(jī),外加一款專門面向電視節(jié)目的新型BASIC版本。Sophie Wilson是一位計(jì)算機(jī)科學(xué)家,而且在大學(xué)階段就曾經(jīng)開發(fā)出了Acorn的第一款計(jì)算機(jī),即8位Acorn Microcomputer。Wilson以不足16KB的小巧體積為BBC編寫出了BASIC的新版本,其中包含有命名規(guī)程、函數(shù)以及IF-THEN-ELSE結(jié)構(gòu)等功能特性。計(jì)算機(jī)素養(yǎng)項(xiàng)目與BBC Micro以及Wilson的BBC BASIC給觀眾帶來了巨大的沖擊,正是這些讓英國的觀眾們第一次接觸到計(jì)算機(jī)以及編程的廣闊世界。而且這些成果隨后還被移植到多種其它平臺之上。
Coq
締造者: Christine Paulin-Mohring協(xié)同Thierry Coquand、Gérard Huet、Bruno Barras、Jean-Christophe Filliâtre、Hugo Herbelin、Chet Murthy、Yves Bertot以及Pierre Castéran
年份: 1991年
背景故事: 1984年,法國計(jì)算機(jī)科學(xué)家Gérard Huet以及Thierry Coquand開始著手開發(fā)一套交互型系統(tǒng),專門針對數(shù)學(xué)定理進(jìn)行相關(guān)證明過程。其初始版本為Coquand打造的Calculus of Constructions(即構(gòu)造演算),簡稱為CoC。1991年,Christine Paulin-Mohrin以Calculus of Inductive Constructions為基礎(chǔ)創(chuàng)建出了一套新的實(shí)現(xiàn)方案,并將該語言重新命名為Coq——這正是為了向Coquand致敬。除了數(shù)學(xué)定理之外,頗具知名度的Coq Proof Assistant System(即Coq證明輔助系統(tǒng))也被用于進(jìn)行軟件驗(yàn)證。Paulin-Mohring已經(jīng)被編程業(yè)界廣泛視為這款重要語言及工具的主要開發(fā)者之一。

























