0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

首位女性圖靈獎(jiǎng)獲得者離世,曾開發(fā)上古語言COBOL編譯器

Linux愛好者 ? 來源:量子位 ? 2020-08-14 16:18 ? 次閱讀

歷史上第一位女性圖靈獎(jiǎng)得主Frances Allen,在她88歲生日這天去世了。

Jeff Dean專門發(fā)推表示悼念。

作為編譯器優(yōu)化領(lǐng)域杰出的學(xué)者,F(xiàn)rances Allen見證了編譯器高速發(fā)展的黃金時(shí)代。

60年代,時(shí)值計(jì)算機(jī)行業(yè)飛速發(fā)展,Allen趕上這波人才空缺,加入了IBM公司,最后一干就是45年。

期間,她負(fù)責(zé)過Stretch-Harvest(簡稱Stretch超算)的編譯器優(yōu)化,PTRAN開發(fā),開創(chuàng)了針對Fortran的自動(dòng)并行化技術(shù)和SSA(靜態(tài)單一賦值)的IR(中間表示法)。

時(shí)至今日,IR仍被廣泛應(yīng)用在靜態(tài)編譯器和JIT中。

除此之外,她還是「上古語言」COBOL的編譯器開發(fā)者。

在計(jì)算機(jī)發(fā)展歷程中,「編譯器」是一個(gè)非常古老的領(lǐng)域,甚至比操作系統(tǒng)還要古老。

但它對推動(dòng)計(jì)算機(jī)領(lǐng)域的發(fā)展功不可沒。

在Frances Allen生前的一次訪談中,她曾提及過自己當(dāng)上程序員的契機(jī)、學(xué)習(xí)編程的方式、以及對如今的部分高級語言(如C語言)的看法。

從她的一些觀點(diǎn)中,也許能窺見編譯器發(fā)展的歷史。

獲圖靈獎(jiǎng),其實(shí)與性別無關(guān)

在2007年2月獲圖靈獎(jiǎng)時(shí),作為第一位女性獲獎(jiǎng)?wù)?,F(xiàn)rances Allen(下簡稱Allen)坦言,其實(shí)在那個(gè)互聯(lián)網(wǎng)并不發(fā)達(dá)的時(shí)代,許多人只知她的名字,但不知道她的性別。

在一次IBM關(guān)于ACS項(xiàng)目的會(huì)議上,許多人見到她的第一面都驚嘆:「你就是Allen?」

這時(shí)候她才知道,分配房間的工作人員按名字順序編排,誤將她和另一名男性分在了一個(gè)房間。

最后,大會(huì)工作人員不得不為她找了一間女傭的房間,這件事情才算過去。

Allen生前曾回憶,其實(shí)在計(jì)算機(jī)最初發(fā)展時(shí),各公司希望招更多的女程序員。那時(shí)候大家普遍認(rèn)為,女性的「細(xì)心」使得她們能展現(xiàn)出優(yōu)秀的編程能力。

事實(shí)上,與之相反的是,時(shí)至今日,在編程相關(guān)的工作上,依舊是男性居多。

一方面與如今計(jì)算機(jī)崗位大多要求「工科」學(xué)位有關(guān),而另一方面,Allen自己也表示,她當(dāng)上程序員,其實(shí)并不因「細(xì)心」,畢竟她自己在編程中也時(shí)常犯錯(cuò)。

相比之下,她對數(shù)學(xué)的興趣非常濃厚,著迷于演算過程的嚴(yán)密與精確。

從數(shù)學(xué)老師到程序員

在Allen身上,數(shù)學(xué)與編程的共通之處得以體現(xiàn)。

最初加入IBM時(shí),Allen的目的僅僅是還碩士助學(xué)貸款,然后當(dāng)數(shù)學(xué)老師(當(dāng)?shù)財(cái)?shù)學(xué)老師要求碩士學(xué)歷)。

因此,相較于開發(fā)人員,Allen后來的工作更側(cè)重于對系統(tǒng)結(jié)構(gòu)和算法的整體把握,也主導(dǎo)了PTRAN項(xiàng)目的完整開發(fā)。

她會(huì)閱讀每一塊并進(jìn)項(xiàng)目中的源碼,了解算法實(shí)現(xiàn)的結(jié)構(gòu),如同演算過程一般,看著一個(gè)項(xiàng)目慢慢地被開發(fā)出來。

事實(shí)上,Allen坦言,如今產(chǎn)品開發(fā)中的一些弊端一直存在,但向來難以解決。

其中一個(gè)問題就是,當(dāng)小組內(nèi)的成員有更好的想法時(shí),往往因?yàn)楫a(chǎn)品周期所限,而難以實(shí)現(xiàn)。

大概這也是如今程序員對產(chǎn)品開發(fā)有所抱怨的原因:短周期的運(yùn)轉(zhuǎn),某種程度上限制了程序員的編程自由。

與此同時(shí),Allen也談及了自己學(xué)習(xí)編程的方式。

學(xué)習(xí)編程的方式

Allen表示,對于初學(xué)者而言,掌握一門編程語言最快的方式依舊是看源代碼。

事實(shí)上,Allen最初入門Fortran的過程也并不愉快。

但隨著對這門語言的深入理解,她被激發(fā)出了極大的興趣,而深入理解最簡單也最直接的辦法,就是閱讀杰出的程序員所編寫的源碼。

對于她來說,最好的代碼不是能簡單又直接地解決問題,就是能通過顯而易見的程序結(jié)構(gòu)展現(xiàn)隱晦的問題。

通過研究一個(gè)同事編寫的語法分析器,她研發(fā)出了PTRAN(并行翻譯項(xiàng)目)的一部分功能,這部分功能在于它有很強(qiáng)的即時(shí)糾錯(cuò)能力。

當(dāng)被問及閱讀源碼是否是一件非常困難的事情時(shí),Allen認(rèn)同了這一觀點(diǎn),她表示這一過程會(huì)非常困難,但是必須去做。

過程中可以運(yùn)用很多技巧,例如列出提綱、或者事先了解一下代碼適用領(lǐng)域,但閱讀源碼是無法跳過的一件事情。

只有這樣,才能從最根本上掌握一門語言的用法,以及代碼核心的邏輯。

而這一習(xí)慣,一直到Allen進(jìn)入IBM管理層后也并未改變。

她熟識一些大學(xué)教授,對于他們所寫的代碼風(fēng)格有所了解,對于她而言,代碼結(jié)構(gòu)清晰的教授,所教的學(xué)生會(huì)更值得她考慮。

除此之外,對于編程或者某一方向有熱情的學(xué)生,也在她的考慮范圍之內(nèi)。

談及進(jìn)入管理層,Allen表示,C語言的出現(xiàn)也是原因之一。

「C語言的出現(xiàn)是一次倒退」

當(dāng)被問及對如今C、Java等高級語言的看法時(shí),Allen坦誠,自己在C語言出現(xiàn)后,就很少再有機(jī)會(huì)接觸編程了。

這對于她而言是不小的打擊。

在60年代,有很多諸如Fortran、COBOL、APL……等高級語言,這些語言所能完成的功能令人驚嘆。

但C語言誕生后,摧毀了推進(jìn)自動(dòng)優(yōu)化、自動(dòng)并行化以及高級語言和機(jī)器語言自動(dòng)映射技術(shù)的進(jìn)程。

此后,編譯器基本上不再在大學(xué)和學(xué)院中教授。

即使還有相關(guān)會(huì)議在繼續(xù)召開、或是研究相關(guān)算法,但這些工作所能彌補(bǔ)的都微乎其微。

在她看來,C、Java、C#、Python等語言對問題的求解方法「過度地指手畫腳」,是破壞計(jì)算機(jī)科學(xué)作為學(xué)術(shù)研究的元兇。

這些語言的出現(xiàn),使得許多更大膽的概念被局限于已有的思想中,但想要改變并非一日之談。

但是,即使這些語言帶來的代碼已經(jīng)有數(shù)百萬行甚至更多,Allen認(rèn)為,對于計(jì)算機(jī)科學(xué)的研究仍然需要嘗試,來繼續(xù)打破邊界。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • COBOL
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    9743
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1634

    瀏覽量

    49166
  • 圖靈獎(jiǎng)
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2092

原文標(biāo)題:首位女性圖靈獎(jiǎng)獲得者離世,曾開發(fā)上古語言COBOL編譯器

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Triton編譯器與GPU編程的結(jié)合應(yīng)用

    Triton編譯器簡介 Triton編譯器是一種針對并行計(jì)算優(yōu)化的編譯器,它能夠自動(dòng)將高級語言代碼轉(zhuǎn)換為針對特定硬件優(yōu)化的低級代碼。Triton編譯
    的頭像 發(fā)表于 12-25 09:13 ?236次閱讀

    Triton編譯器如何提升編程效率

    在現(xiàn)代軟件開發(fā)中,編譯器扮演著至關(guān)重要的角色。它們不僅將高級語言代碼轉(zhuǎn)換為機(jī)器可執(zhí)行的代碼,還通過各種優(yōu)化技術(shù)提升程序的性能。Triton 編譯器作為一種先進(jìn)的
    的頭像 發(fā)表于 12-25 09:12 ?229次閱讀

    Triton編譯器在高性能計(jì)算中的應(yīng)用

    先進(jìn)的編譯技術(shù),為高性能計(jì)算提供了強(qiáng)大的支持。 Triton編譯器簡介 Triton編譯器是一種開源的編譯器框架,旨在為異構(gòu)計(jì)算環(huán)境提供高效的編譯
    的頭像 發(fā)表于 12-25 09:11 ?235次閱讀

    Triton編譯器的優(yōu)化技巧

    在現(xiàn)代計(jì)算環(huán)境中,編譯器的性能對于軟件的運(yùn)行效率至關(guān)重要。Triton 編譯器作為一個(gè)先進(jìn)的編譯器框架,提供了一系列的優(yōu)化技術(shù),以確保生成的代碼既高效又適應(yīng)不同的硬件架構(gòu)。 1. 指令選擇
    的頭像 發(fā)表于 12-25 09:09 ?230次閱讀

    Triton編譯器的優(yōu)勢與劣勢分析

    據(jù)流分析技術(shù),能夠自動(dòng)識別并優(yōu)化深度學(xué)習(xí)模型中的計(jì)算瓶頸,從而提高模型的整體性能。 它支持多種硬件平臺的優(yōu)化,包括CPU、GPU、FPGA等,為深度學(xué)習(xí)模型的部署提供了更廣泛的選擇。 靈活可擴(kuò)展 : Triton編譯器采用了模塊化的設(shè)計(jì)思想,開發(fā)者可以根據(jù)需要自定
    的頭像 發(fā)表于 12-25 09:07 ?256次閱讀

    Triton編譯器在機(jī)器學(xué)習(xí)中的應(yīng)用

    多種深度學(xué)習(xí)框架,如TensorFlow、PyTorch、ONNX等,使得開發(fā)者能夠輕松地將不同框架下訓(xùn)練的模型部署到GPU上。 2. Triton編譯器的工作原理 Triton編譯器通過以下幾個(gè)步驟
    的頭像 發(fā)表于 12-24 18:13 ?391次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言
    的頭像 發(fā)表于 12-24 17:33 ?372次閱讀

    Triton編譯器與其他編譯器的比較

    的GPU編程框架,使開發(fā)者能夠編寫出接近手工優(yōu)化的高性能GPU內(nèi)核。 其他編譯器 (如GCC、Clang、MSVC等): 定位:通用編譯器,支持多種編程語言,廣泛應(yīng)用于各種軟件
    的頭像 發(fā)表于 12-24 17:25 ?380次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個(gè)開源的編譯器前端,它支持多種編程語言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個(gè)可擴(kuò)展和可定制的編譯器框架,允許開發(fā)者添加新的編程
    的頭像 發(fā)表于 12-24 17:23 ?424次閱讀

    AI編譯器技術(shù)剖析

    隨著人工智能技術(shù)的飛速發(fā)展,AI編譯器作為一種新興的編譯技術(shù)逐漸進(jìn)入人們的視野。AI編譯器不僅具備傳統(tǒng)編譯器的功能,如將高級語言編寫的源代碼
    的頭像 發(fā)表于 07-17 18:28 ?1661次閱讀

    人工智能編譯器與傳統(tǒng)編譯器的區(qū)別

    人工智能編譯器(AI編譯器)與傳統(tǒng)編譯器在多個(gè)方面存在顯著的差異。這些差異主要體現(xiàn)在設(shè)計(jì)目標(biāo)、功能特性、優(yōu)化策略、適用范圍以及技術(shù)復(fù)雜性等方面。以下是對兩區(qū)別的詳細(xì)探討,旨在全面解析
    的頭像 發(fā)表于 07-17 18:19 ?1948次閱讀

    Meta發(fā)布基于Code Llama的LLM編譯器

    近日,科技巨頭Meta在其X平臺上正式宣布推出了一款革命性的LLM編譯器,這一模型家族基于Meta Code Llama構(gòu)建,并融合了先進(jìn)的代碼優(yōu)化和編譯器功能。LLM編譯器的推出,標(biāo)志著Meta在人工智能領(lǐng)域的又一重大突破,將
    的頭像 發(fā)表于 06-29 17:54 ?1519次閱讀

    SEGGER編譯器優(yōu)化和安全技術(shù)介紹 支持最新C和C++語言

    SEGGER編譯器是專門為ARM和RISC-V微控制設(shè)計(jì)的優(yōu)化C/C++編譯器。它建立在強(qiáng)大的Clang前端上,支持最新的C和C++語言功能。 除其他外,其主要功能包括: 1)?尺寸
    的頭像 發(fā)表于 06-04 15:31 ?1486次閱讀
    SEGGER<b class='flag-5'>編譯器</b>優(yōu)化和安全技術(shù)介紹 支持最新C和C++<b class='flag-5'>語言</b>

    C語言:嵌入式開發(fā)中的關(guān)鍵編譯器角色

    嵌入式程序開發(fā)跟硬件密切相關(guān),需要使用C語言來讀寫底層寄存、存取數(shù)據(jù)、控制硬件等,C語言和硬件之間由編譯器來聯(lián)系,一些C標(biāo)準(zhǔn)不支持的硬件特
    發(fā)表于 04-26 14:53 ?648次閱讀
    C<b class='flag-5'>語言</b>:嵌入式<b class='flag-5'>開發(fā)</b>中的關(guān)鍵<b class='flag-5'>編譯器</b>角色

    QT開發(fā)學(xué)習(xí)筆記1(安裝交叉編譯器

    QT安裝交叉編譯器
    的頭像 發(fā)表于 02-18 10:02 ?1063次閱讀
    QT<b class='flag-5'>開發(fā)</b>學(xué)習(xí)筆記1(安裝交叉<b class='flag-5'>編譯器</b>)