艾倫·佩利

艾倫·佩利

艾倫·佩利(Alan J.Perlis 1922年4月1日-1990年2月7日),ALGOL語言和計算機科學的“催生者”,由於在ALGOL語言的定義和擴充上所作出的重大貢獻,以及在創始計算機科學教育,使計算機科學成為一門獨立的學科上所發揮的巨大作用而成為首屆圖靈獎當之無愧的獲得者。

基本信息

生平

艾倫·佩利 艾倫·佩利

佩利1922年4月1日生於美國賓夕法尼亞州的匹茲堡。在卡內基理工學院(現卡內基—梅隆大學)學的專業是化學,1942年畢業取得學士學位。因當時還處於二次世界大戰期間,而且在珍珠港事件後美國已宣布正式參戰,因此佩利被應徵入伍,在空軍服役。戰後他進入麻省理工學院(MIT)研究生院繼續深造,改學數學,於1949年取得碩士學位,然後又攻讀博士學位,於1950年取得該學位。1951年他在美國陸軍軍械部設在馬里蘭州的阿伯丁試驗基地內的“彈道研究實驗室”(馮·諾伊曼曾在該研究實驗室當顧問)幹了一年,然後回到母校MIT參加“鏇風”(Whirlwind)計算機計畫,為“鏇風”編製程序。為了說明佩利參與的“鏇風”計畫的意義,我們先簡要回顧一下計算機誕生初期的發展歷史。

成就

ENIAC

大家知道,世界上第一台電子計算機叫“ENIAC”(這是Electronic Numerical Integrator and Computer的詞頭縮寫,意為“電子數字積分器和計算機”),是賓夕法尼亞大學莫爾學院(Moore School)根據上述阿伯丁彈道研究實驗室為各種火炮計算彈道、編制射擊表的需要於1943年6月與聯邦政府簽訂10萬美元的契約而研製的。項目由約翰·莫奇利(John William Mauchly,1907—1980)負責邏輯設計,伊克特(John Presper Eckert,Jr,1919—1995)負責電路設計。ENIAC是一台十進制並行計算機,能同時處理10個十進制數,採用電子管電路,時鐘頻率100000 Hz,加法時間0.2 ms,乘法時間2.8 ms,是一個占地1500ft2(約139 m2),重30t,功耗150kw的龐然大物,於1946年2月完成,未能參加第二次世界大戰,但被洛斯阿拉莫斯(Los Alamos)國家實驗室用於計算核子彈爆炸的突變問題,後來又曾用於阿伯丁的空軍試驗場,一直運行到1955年10月才停止工作。世人一直公認莫奇利和伊克特是ENIAC的發明者,但後來在兩家計算機公司的訴訟中,法院判定他們剽竊了約翰·阿塔那索夫(John Vincent Atana-soff,1903—1995)的構思和設計。這個涉及世界上第一台電子計算機的發明權案件曾經轟動美國。但有趣的是,雖然阿塔那索夫確實曾在1941年把自己關於構思計算機的構想告訴過莫奇利,後者也確實因此受到啟發而寫出了有關論證報告並設計出了ENIAC,但社會輿論似乎並不支持法院的判決,現在一提到ENIAC,幾乎眾口一詞地仍然說是莫奇利和伊克特發明的,沒有人說是阿塔那索夫發明的,這對美國法院的判決真是一種諷刺。

EDVAC

ENIAC雖然是世界上第一台電子計算機而被載人史冊,但它不具備存儲程式的能力,程式要通過外接電路板輸入。要改變程式必須改接相應的電路板,對於每種類型的題目,都要設計相應的外接插板。這不是理想的結構,不符合馮·諾伊曼早就提出的存儲程式的構想。那么世界上第一台存儲程式式計算機是哪一台呢?有些資料認為是前面曾經提到過的曼徹斯特大學的MARK I,但現在一般說法是英國劍橋大學威爾克斯(M.V.Wilkes,1967年圖靈獎獲得者)設計和完成於1949年5月的EDSAC。實際上,最早開始設計與實施存儲程式式計算機的還是莫爾學院的EDVAC(Electronic Discrete VariableAutomatic Computer的詞頭縮寫,意為“電子分離變數自動計算機”)。這是1945年3月(當時ENIAC正在安裝調試階段),由馮·諾伊曼本人與莫奇利、伊克特等人經過兩天會談、討論後制定的設計方案,採用電子管和半導體二極體,用水銀延遲線作存儲器,時鐘頻率1MHz,字長32bit。由於ENIAC的原因,EDVAC的研製從1947年才開始,加上莫奇利和伊克特兩人後來因故離開了莫爾學院,使工程遇到困難,1952年(有的資料說1951年)才完成,這才使威爾克斯的ED—SAC“後來居上”(詳見後面關於威爾克斯的介紹)。

“鏇風”計算機

但不管EDSAC也好,EDVAC也好,都是串列計算機(serial com—Duter),即數據的傳送和運算是按位逐一進行的,這樣的計算機運算部件少,運算也簡單,但速度慢,不能滿足某些套用的需要。那么世界上第一台存儲程式式的並行計算機是哪一台呢?這就是前述“鏇風”計算機。“鏇風”的主要設計者和研製者是MIT的弗里斯特(JayWright Forrest)。弗里斯特也是受軍方委託,用風洞來研究飛機穩定性時根據數據處理的需要而設計“鏇風”的。“鏇風”受EDSAC的影響採用存儲程式方式,但鑒於處理飛機穩定性需要2000條以上指令,必須改串列為並行,但又要照顧機器體積不宜過大,因此設計成16位字長的並行計算機。“鏇風”的另一項創新是採用英國曼徹斯特大學威廉斯(FrederiC calland Williams,1911—1977)發明不久的陰極射線管作記憶體儲器。“鏇風”的研製工作從1946年開始,1950年試運行成功。20世紀50年代冷戰加劇的形勢下,美國軍方對“鏇風”寄予極大希望,空軍每年投資100萬美元(試比較一下,ENIAC的總經費才10萬美元),MIT也專門成立了著名的“林肯實驗室”,以弗里斯特原先的實驗室為核心,研究“鏇風”的軍事套用。1951年,“鏇風”與當時著名的SAGE(Semi-Automatic Ground Environment,即半自動地面防空系統,包括全美17個防區)首次實現連線,把位於卡德角的防空警戒雷達所截獲的信息送到MIT,由“鏇風”計算機進行處理、分析和存儲。這是歷史上計算機與通信相結合的先驅。弗里斯特還在20世紀40年代末和美籍華人科學家兼企業家王安(Wang An,1920—1990)幾乎同時分別獨立地發明了磁心存儲器,並把它用在“鏇風”中以代替陰極射線管存儲器,從而進一步大大提高了“鏇風”的性能。

Algol 58

佩利在“鏇風”上工作到1952年9月。之後他來到普渡大學,在那裡他創建了全美大學中的第一個計算中心,開創了在大學中建立計算中心的先河。他出任普渡大學計算中心的第一任主任。在他的努力下,計算中心先安裝了一台IBM的CPC計算機(Card ProgrammedCalculator),以後更新為Datatron 205。佩利為之設計了稱為IT(Inter-hal Translator)的語言,並開發了IT的編譯器。1956年佩利轉到卡內基理工學院,“故伎重演”,又推動該校成立了計算中心並出任主任,配置了IBM 650計算機。佩利把他在普渡大學開發的IT及其編譯器移植到IBM 650上,曾經在美國許多大學的IBM 650上被廣泛採用;在IT的基礎上,佩利和史密斯(J.Smith)、佐輪(H.Zoren)、伊萬斯(A.Evans)等人一起為IBM 650設計與開發了新的代數語言和彙編語言。這些工作奠定了佩利作為電腦程式設計語言的先行者的地位。因此,當ACM於1957年成立程式設計語言委員會以便與歐洲的同行合作,設計通用的代數語言的時候,佩利被理所當然地看作是最佳人選而被任命為這個委員會的主席。1958年,在蘇黎世舉行的ACM小組和以當時聯邦德國的套用數學和力學協會GAMM為主的歐洲小組的聯合會議上,兩個小組把他們關於算法表示法的建議綜合為一,形成了Algol 58(開始時的名稱叫做“國際代數語言”,即International Algebraic Language,簡稱IAL。後來改叫Algol 58)。在Algol 58的基礎上,1960年1月在巴黎舉行的有全世界一流軟體專家參加的討論會上,確定了程式設計語言Algol 60,發表了“算法語言Algol 60報告”。1962年又發表了“算法語言Algol 60的修改報告”。Algol 60是程式設計語言發展史上的一個里程碑,它標誌著程式設計語言由一種“技藝”轉而成為一門“科學”,開拓了程式設計語言的研究領域,又為後來軟體自動化的工作以及軟體可靠性問題的發展奠定了基礎。而後像1967年出現的首次引進“類型”的概念,把數據和被允許施行於這些數據之上的運算結合為一個統一體,因而成為現代抽象數據類型的開端以及第一個面向對象的語言SIMULA67,1971年出現的著名的PASCAL等語言,也都是在Algol 60的基礎上加以擴充而形成的。Algol60的主要特點有:

1.局部性首次引進局部性概念,既擴充了語言的表達能力,又可節省記憶體空間,提高程式的緊湊性。

2.動態性語言含有動態成分,從而明顯提高了語言的表達能力(當然也相應增加了實現中的開銷)。

3.遞歸性遞歸性的引進開拓了軟體的研究領域,促進了軟體的發展。

4.嚴謹性它的語法和語義均有嚴格的描述,特別是語法,採用了著名的巴克斯範式BNF,結構清晰,理論嚴謹。

在Algol 58和Algol 60的形成和修改過程中,佩利都起了核心和關鍵的作用。佩利之所以榮獲首屆圖靈獎,主要就是因為他在這方面的重大貢獻。

與此同時,在佩利的積極組織下,卡內基理工學院率先在大學生中開設程式設計課程。在此之前,有關程式設計的知識是作為“數值分析”課程內容的一部分予以介紹的。程式設計課的開設是計算機科學教育的開端。這引起了計算機的最大用戶——美國國防部的重視,由它的高級研究計畫署ARPA出面,出資資助對計算機科學及其教育立項研究,其結果是20世紀60年代中期首先在卡內基理工學院、史丹福大學、MIT等少數幾個大學建立起了計算機科學系和計算機科學研究生院,使計算機科學脫離電氣工程、數學等學科而成為一門獨立的學科。鑒於佩利在其中所起的巨大作用,佩利被稱為“使計算機科學成為獨立學科的奠基人”——A founding father of Computer Science as a separate discipline。而在卡內基理工學院(現卡內基—梅隆大學),佩利和西蒙(H.A.Simon)、紐厄爾(A.Newell),後二人是1975年圖靈獎獲得者,三人被稱為“計算機系的三駕馬車”。

其他

1971年,佩利離開卡內基—梅隆大學,加盟新成立的耶魯大學計算機系,曾數度出任系主任,為耶魯大學計算機系的建設和發展作出了重大貢獻。其間,1977—1978年,他曾在加州理工學院執教。因此,佩利可謂“桃李滿天下”,尤其是美國的第一批計算機科學博士生,絕大部分都是佩利的弟子。

佩利也是計算機學術組織和學術交流活動的積極倡導者和組織者。1962—1964年他出任ACM主席。著名的雜誌Communications of ACM也是由他倡議創辦的,並在1958—1962年擔任第一任主編。作為知名學者,他經常到世界各國講學或作報告,足跡遍及前蘇聯、丹麥、義大利、以色列、墨西哥、秘魯、英國、荷蘭、委內瑞拉……其中也曾兩次到中國講學。他也是“桌球外交”後,最早(1972年7月)到中國訪問的美國計算機科學家代表團的成員之一。

佩利說過這樣一句話:“任何名詞都可以變為動詞”(any noun canbe verbed)。他的意思是說,任何遠大的理想、志向、抱負和對新事物的追求,通過努力和不懈的實踐,都是可以實現的。這是佩利總結自己的一生所形成的至理名言。

1990年2月7日,佩利因心臟病在康乃狄克州的紐哈芬去世,享年68歲。

主要著作

《對程式設計語言的思考》(A View of Programming LanguagesAd-dison-Wesley,1970)

《計算機科學導論》(Introduction to Computer Science,Harper&Row,1972,1975)

《軟體可重用性》(Software Reusability,ACM pr,1989)

最後這部書分兩卷,第一卷:概念與模型(Concepts and Models),第二卷:套用與經驗(Applications and Experience),是佩利與比格斯托夫(T.J.Biggerstaff)合編的。這是他生前的最後一部著作,反映了他晚年對軟體工程的關心和重視。

佩利是在1966年8月舉行的ACM第21屆全國大會上被授予圖靈獎的。佩利發表了題為“算法系統的綜合”(The Synthesis of Algorithmic Systems)的演說(刊於雜誌Journal of ACM,1967年1月,1~9頁,也可見《前20年的圖靈獎演說集》(ACM Turing Award Lectures----The First 20 Years:1966—1985,ACM pr,5~16頁)。佩利發表演說的1966年,編程還要通過專門設計的“編碼紙”(coding sheet)和穿孔卡片進行。但佩利的眼光已經描向未來。他在強調指出圖靈計算模型的重要意義以後,討論了程式設計語言和系統下一步應朝哪些方向發展,包括更豐富的數據類型和數據結構,以及與之相聯繫更豐富的操作等。佩利所指出的方向有些已被隨後的研究與開發所實現,如LISP,Smalltalk,有些則至今有待進一步的研究。

榮譽

佩利1973年當選為美國藝術和科學院院士,1976年當選為美國工程院院士。除了獲得圖靈獎外,他還在1984年獲得AFIPS的教育獎,曾被普渡大學、滑鐵盧大學等多所大學授予名譽博士學位。

1966年成為首屆圖靈獎的獲得者。

歷屆圖靈獎獲獎名單

盤點美國知名科學家

古拉斯·尼葛洛龐帝
傑夫·霍金
艾賽亞·鮑曼
塞西莉亞·佩恩-加波施金
阿瓦德斯·特凡尼安
喬治·華盛頓·卡弗
威廉·亨利·皮克林
道格拉斯·麥克羅伊
艾倫·J·巴德
約翰·馬伯格
喬爾·梅特卡夫
W·E·莫爾納爾
愛德華·諾頓·勞侖次
理察·斯莫利
羅伯·雷頓
匠白光
希伯·柯蒂
吉爾伯特·牛頓·路易士
羅歇·吉耶曼
保羅·勞特伯
威廉·莫里斯·戴維斯
K·C·尼古勞
毛昭憲
保羅·卡拉斯
佛瑞德·布魯克斯
赫爾曼·約瑟夫·馬勒
翰·繆爾
赫伯特·豪普特曼
詹姆斯·尼古拉·格雷
卡羅琳·舒梅克
約翰·道布森
邵正元
阿弗雷德·赫希
文森特·迪維尼奧
羅伯特·柯爾
約翰·巴科斯
沃爾特·阿爾瓦雷茨
吉姆·卡吉雅
丹尼爾·卡爾頓·蓋杜謝
彼得·舒爾茨
賀拉斯·帕內爾·塔特爾
基普·索恩
貝拉·巴納錫
乍德·特魯希略
安德魯·沙利
喬治·瑪麗·塞爾
布萊恩·施密特
詹姆斯·B·薩姆納
凱文·格蘭納達
路易斯·斯威夫特
阿蘭·麥克萊德·科馬克
維斯托·斯里弗
奧托·斯特魯維
陳品山
阿爾伯特·班傑明·普雷
約翰·彭伯頓
查爾斯·佩德森
麥可·斯通布雷克
亞當·里斯
約翰·丹尼爾·克勞斯
伊莉莎白·羅默爾
亨利·諾利斯·羅素
查爾斯·狄龍·珀賴因
拉斯·昂薩格
約翰·霍華德·諾思羅普
尤金·派克
羅伯特·S·馬利肯
賽斯·尼克爾森
孟懷縈
埃德溫·麥克米倫
約書亞·布洛克
威廉·利普斯科姆
法蘭斯·萊文沃思
潘文淵
諾曼·艾布拉姆森
亨麗愛塔·勒維特
丹尼爾·柯克伍德
威廉·斯坦迪什·諾爾斯
查爾斯·科瓦爾
法蘭克·迪普勒
傑爾姆·卡爾
愛德華·卡爾文·肯德爾
羅伯特·赫爾曼
霍爾登·凱弗·哈特蘭
馬中佩
埃德溫·克雷布斯
里卡爾多·賈科尼
詹姆斯·弗格森
雷蒙德·史密斯·杜根
保羅·莫卡派喬斯
羅伯特·修奇
埃德溫·福斯特·柯丁頓
賽斯·卡羅·錢德勒
詹姆斯·克里斯蒂
安妮·坎農
威廉·羅伯特·布魯克斯
黃桑希蘭
葉乃裳
約翰·富蘭克林·恩德斯
約翰·貝內特·芬恩
喬治·邦德
拉爾夫·阿爾菲
喬治·阿貝爾
沃爾特·亞當斯
范·雅各布森
威廉·亨利·霍爾姆斯
赫伯特·亨利·道
阿爾文·溫伯格
羅德·霍夫曼
羅伯特·夏皮羅
約瑟夫·德西蒙尼
竇維廉
查爾斯·奧弗伯格
查爾斯·利伯
傑瑞·馬奇
托馬斯·米基利·梅勒
巴里·特羅斯特
尤金·賓漢
約翰·軒尼詩
塞繆爾·丹尼謝夫斯基
哈里·格雷
梅爾文·卡爾文
赫伯特·布朗
史丹利·羅斯特·本尼迪
馬克斯·列夫琴
喬治·沃爾德
拉瑞·克倫普爾
阿爾佛雷德·艾侯
西奧多·周
喬治·亨利·彼得斯
史蒂文·沃格特
查爾斯·薩克爾
克萊德·湯博
安德魯·斯圖爾特·塔能
艾倫·桑德奇
馬丁·史瓦西
萊曼·史匹哲
大衛·史提芬遜
哈羅·沙普利
古斯塔夫·所羅門
薇拉·魯賓
斯坦利·科恩
大衛·拉比諾維茨
賈德·戴蒙
愛德華·查爾斯·皮克林
克里斯蒂安·亨利·弗里
魯道夫·閔可夫斯基
法蘭克·穆勒
傑佛瑞·馬西
弗雷德里克·查爾斯·倫
傑夫·拉斯金
塞繆爾·蘭利
羅伯特·科什納
布萊德·確斯
歐文·羅斯
馬丁·紐維爾
愛德溫·哈勃
喬治·埃勒里·海耳
羅斯貝
馬文·閔斯基
亨利·德雷伯
米高·E·布朗
愛德華·愛默生·巴納德
芭芭拉·利斯科夫
葛麗絲·霍普
查理斯·艾博特
約翰·威斯利·鮑威爾
彼得·秀爾
尤利烏斯·紐蘭德
克日什托夫·馬蒂亞謝夫
喬治·懷特塞茲
常瑞華
王瑞駪
肯尼斯·艾佛森
詹姆斯·高斯林
格羅特·雷伯
巴里·夏普萊斯
威廉·巴頓·羅傑斯
菲利普·肖瓦特·亨奇
胡流源
張可昭
艾德文·卡特姆
弗蘭克·舍伍德·羅蘭
朱有花
弗拉迪米爾·普雷洛格
馬克斯·德爾布呂克
李中漢
菲巴斯·利文
威拉得·利比
馬丁·卡普拉斯
達德利·赫施巴赫
法蘭·艾倫
歐文·蘭米爾
羅納托·杜爾貝科
羅伯特·格拉布
維農·德沃夏克
威廉·吉奧克
克利夫蘭·阿貝
保羅·弗洛里
尤金·舒梅克
華萊士·卡羅瑟斯
馬克·維瑟
卡爾·斐迪南·科里
蘭迪·波許
倫納德·阿德曼
斯蒂夫·沃茲尼亞克
小羅伯特·伯納姆
弗里茨·茲威基
徐遐生
彼得·阿格雷
黎頓郝斯
阿諾·彭齊亞斯
王贛駿
肯·湯普遜
理察·卡普
阿薩夫·霍爾
羅伯特·弗洛伊德
法蘭克·德雷克
德克·布勞威爾
威廉·邦德
約翰·霍蘭德
琳·康維
詹姆斯·范·艾倫
亨利·陶布
文頓·瑟夫
格倫·西奧多·西博格
理察·施羅克
斯圖亞特·L·施萊伯
溫德爾·梅雷迪思·斯坦
安東尼奧·穆齊
約翰·麥卡錫
哈里森·施密特
哈里·哈蒙德·赫斯
理察·赫克
查爾斯·馬丁·霍爾
約西亞·威拉德·吉布斯
蘇珊·霍克菲爾德
亨利·艾林
艾倫·紐厄爾
羅伯特·梅特卡夫
約瑟·亨利
丹尼斯·里奇
帕西瓦爾·羅威爾
艾倫·佩利
高德納
喬治·伽莫夫
約翰·繆爾
史提芬·古克
布萊姆·科恩
下村修
謝爾蓋·布林
郭曉嵐
艾倫·麥克德爾米德
艾倫·黑格
安娜·菲舍爾
羅德里克·麥金農
卡爾·薩根
傑拉德·柯伊伯
卡爾·央斯基
羅伯特·伯恩斯·伍德沃
哈羅德·克萊頓·尤里
西奧多·威廉·理查茲
萊納斯·鮑林
克勞德·香農
利蘭·哈特韋爾
赫伯特·西蒙
奧利弗·史密斯
班傑明·富蘭克林
諾姆·喬姆斯基
理察·阿克塞爾

相關詞條

相關搜尋

熱門詞條

聯絡我們