歷史上第一位女性圖靈獎得主Frances Allen,在她88歲生日這天去世了。
Jeff Dean專門發推表示悼念。
作為編譯器優化領域杰出的學者,Frances Allen見證了編譯器高速發展的黃金時代。
60年代,時值計算機行業飛速發展,Allen趕上這波人才空缺,加入了IBM公司,最后一干就是45年。
期間,她負責過Stretch-Harvest(簡稱Stretch超算)的編譯器優化,PTRAN開發,開創了針對Fortran的自動并行化技術和SSA(靜態單一賦值)的IR(中間表示法)。
時至今日,IR仍被廣泛應用在靜態編譯器和JIT中。
除此之外,她還是「上古語言」COBOL的編譯器開發者。
在計算機發展歷程中,「編譯器」是一個非常古老的領域,甚至比操作系統還要古老。
但它對推動計算機領域的發展功不可沒。
在Frances Allen生前的一次訪談中,她曾提及過自己當上程序員的契機、學習編程的方式、以及對如今的部分高級語言(如C語言)的看法。
從她的一些觀點中,也許能窺見編譯器發展的歷史。
獲圖靈獎,其實與性別無關
在2007年2月獲圖靈獎時,作為第一位女性獲獎者,Frances Allen(下簡稱Allen)坦言,其實在那個互聯網并不發達的時代,許多人只知她的名字,但不知道她的性別。
在一次IBM關于ACS項目的會議上,許多人見到她的第一面都驚嘆:「你就是Allen?」
這時候她才知道,分配房間的工作人員按名字順序編排,誤將她和另一名男性分在了一個房間。
最后,大會工作人員不得不為她找了一間女傭的房間,這件事情才算過去。
Allen生前曾回憶,其實在計算機最初發展時,各公司希望招更多的女程序員。那時候大家普遍認為,女性的「細心」使得她們能展現出優秀的編程能力。
事實上,與之相反的是,時至今日,在編程相關的工作上,依舊是男性居多。
一方面與如今計算機崗位大多要求「工科」學位有關,而另一方面,Allen自己也表示,她當上程序員,其實并不因「細心」,畢竟她自己在編程中也時常犯錯。
相比之下,她對數學的興趣非常濃厚,著迷于演算過程的嚴密與精確。
從數學老師到程序員
在Allen身上,數學與編程的共通之處得以體現。
最初加入IBM時,Allen的目的僅僅是還碩士助學貸款,然后當數學老師(當地數學老師要求碩士學歷)。
因此,相較于開發人員,Allen后來的工作更側重于對系統結構和算法的整體把握,也主導了PTRAN項目的完整開發。
她會閱讀每一塊并進項目中的源碼,了解算法實現的結構,如同演算過程一般,看著一個項目慢慢地被開發出來。
事實上,Allen坦言,如今產品開發中的一些弊端一直存在,但向來難以解決。
其中一個問題就是,當小組內的成員有更好的想法時,往往因為產品周期所限,而難以實現。
大概這也是如今程序員對產品開發有所抱怨的原因:短周期的運轉,某種程度上限制了程序員的編程自由。
與此同時,Allen也談及了自己學習編程的方式。
學習編程的方式
Allen表示,對于初學者而言,掌握一門編程語言最快的方式依舊是看源代碼。
事實上,Allen最初入門Fortran的過程也并不愉快。
但隨著對這門語言的深入理解,她被激發出了極大的興趣,而深入理解最簡單也最直接的辦法,就是閱讀杰出的程序員所編寫的源碼。
對于她來說,最好的代碼不是能簡單又直接地解決問題,就是能通過顯而易見的程序結構展現隱晦的問題。
通過研究一個同事編寫的語法分析器,她研發出了PTRAN(并行翻譯項目)的一部分功能,這部分功能在于它有很強的即時糾錯能力。
當被問及閱讀源碼是否是一件非常困難的事情時,Allen認同了這一觀點,她表示這一過程會非常困難,但是必須去做。
過程中可以運用很多技巧,例如列出提綱、或者事先了解一下代碼適用領域,但閱讀源碼是無法跳過的一件事情。
只有這樣,才能從最根本上掌握一門語言的用法,以及代碼核心的邏輯。
而這一習慣,一直到Allen進入IBM管理層后也并未改變。
她熟識一些大學教授,對于他們所寫的代碼風格有所了解,對于她而言,代碼結構清晰的教授,所教的學生會更值得她考慮。
除此之外,對于編程或者某一方向有熱情的學生,也在她的考慮范圍之內。
談及進入管理層,Allen表示,C語言的出現也是原因之一。
「C語言的出現是一次倒退」
當被問及對如今C、Java等高級語言的看法時,Allen坦誠,自己在C語言出現后,就很少再有機會接觸編程了。
這對于她而言是不小的打擊。
在60年代,有很多諸如Fortran、COBOL、APL……等高級語言,這些語言所能完成的功能令人驚嘆。
但C語言誕生后,摧毀了推進自動優化、自動并行化以及高級語言和機器語言自動映射技術的進程。
此后,編譯器基本上不再在大學和學院中教授。
即使還有相關會議在繼續召開、或是研究相關算法,但這些工作所能彌補的都微乎其微。
在她看來,C、Java、C#、Python等語言對問題的求解方法「過度地指手畫腳」,是破壞計算機科學作為學術研究的元兇。
這些語言的出現,使得許多更大膽的概念被局限于已有的思想中,但想要改變并非一日之談。
但是,即使這些語言帶來的代碼已經有數百萬行甚至更多,Allen認為,對于計算機科學的研究仍然需要嘗試,來繼續打破邊界。
-
COBOL
+關注
關注
0文章
6瀏覽量
9737 -
編譯器
+關注
關注
1文章
1624瀏覽量
49111 -
圖靈獎
+關注
關注
0文章
5瀏覽量
2076
原文標題:首位女性圖靈獎獲得者離世,曾開發上古語言COBOL編譯器
文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論