0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

首位女性图灵奖获得者离世,曾开发上古语言COBOL编译器

Linux爱好者 ? 来源:量子位 ? 2020-08-14 16:18 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

历史上第一位女性图灵奖得主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

    浏览量

    9794
  • 编译器
    +关注

    关注

    1

    文章

    1663

    浏览量

    50454
  • 图灵奖
    +关注

    关注

    0

    文章

    5

    浏览量

    2182

原文标题:首位女性图灵奖获得者离世,曾开发上古语言COBOL编译器

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HighTec编译器全面适配紫光同芯THA6 Gen2系列产品

    近日,紫光同芯与全球领先的汽车级C/C++编译器供应商HighTec共同宣布,HighTec编译器完成对紫光同芯THA6 Gen2系列产品的全面适配。此次合作实现了从指令集优化到功能安全的全栈支持,是国产高端车规芯片与国际领先开发
    的头像 发表于 04-02 09:42 ?556次阅读

    什么样的代码会被编译器优化

    现在的编译器有多智能,可能你辛辛苦苦写的代码,在编译器看来就是几句废话,直接被删除掉。
    的头像 发表于 01-16 16:38 ?683次阅读

    Triton编译器与GPU编程的结合应用

    Triton编译器简介 Triton编译器是一种针对并行计算优化的编译器,它能够自动将高级语言代码转换为针对特定硬件优化的低级代码。Triton编译
    的头像 发表于 12-25 09:13 ?961次阅读

    Triton编译器如何提升编程效率

    在现代软件开发中,编译器扮演着至关重要的角色。它们不仅将高级语言代码转换为机器可执行的代码,还通过各种优化技术提升程序的性能。Triton 编译器作为一种先进的
    的头像 发表于 12-25 09:12 ?854次阅读

    Triton编译器在高性能计算中的应用

    先进的编译技术,为高性能计算提供了强大的支持。 Triton编译器简介 Triton编译器是一种开源的编译器框架,旨在为异构计算环境提供高效的编译
    的头像 发表于 12-25 09:11 ?1101次阅读

    Triton编译器的优化技巧

    在现代计算环境中,编译器的性能对于软件的运行效率至关重要。Triton 编译器作为一个先进的编译器框架,提供了一系列的优化技术,以确保生成的代码既高效又适应不同的硬件架构。 1. 指令选择
    的头像 发表于 12-25 09:09 ?1158次阅读

    Triton编译器的优势与劣势分析

    据流分析技术,能够自动识别并优化深度学习模型中的计算瓶颈,从而提高模型的整体性能。 它支持多种硬件平台的优化,包括CPU、GPU、FPGA等,为深度学习模型的部署提供了更广泛的选择。 灵活可扩展 : Triton编译器采用了模块化的设计思想,开发者可以根据需要自定
    的头像 发表于 12-25 09:07 ?1364次阅读

    Triton编译器在机器学习中的应用

    多种深度学习框架,如TensorFlow、PyTorch、ONNX等,使得开发者能够轻松地将不同框架下训练的模型部署到GPU上。 2. Triton编译器的工作原理 Triton编译器通过以下几个步骤
    的头像 发表于 12-24 18:13 ?1172次阅读

    Triton编译器的常见问题解决方案

    Triton编译器作为一款专注于深度学习的高性能GPU编程工具,在使用过程中可能会遇到一些常见问题。以下是一些常见问题的解决方案: 一、安装与依赖问题 检查Python版本 Triton编译器通常
    的头像 发表于 12-24 18:04 ?3440次阅读

    Triton编译器支持的编程语言

    Triton编译器支持的编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Triton语言
    的头像 发表于 12-24 17:33 ?1072次阅读

    Triton编译器与其他编译器的比较

    的GPU编程框架,使开发者能够编写出接近手工优化的高性能GPU内核。 其他编译器 (如GCC、Clang、MSVC等): 定位:通用编译器,支持多种编程语言,广泛应用于各种软件
    的头像 发表于 12-24 17:25 ?1118次阅读

    Triton编译器功能介绍 Triton编译器使用教程

    Triton 是一个开源的编译器前端,它支持多种编程语言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一个可扩展和可定制的编译器框架,允许开发者添加新的编程
    的头像 发表于 12-24 17:23 ?1900次阅读

    HighTec C/C++编译器套件全面支持芯来RISC-V IP

    是基于LLVM开源汽车级C/C++编译器工具,已通过ISO 26262 ASIL D的安全认证。从事RISC-V架构开发的汽车软件开发者受益于这些工具来无缝支持芯来经过功能安全认证的RISC-V内核,进而
    的头像 发表于 12-23 09:04 ?1405次阅读
    HighTec C/C++<b class='flag-5'>编译器</b>套件全面支持芯来RISC-V IP

    C7000优化C/C++编译器

    电子发烧友网站提供《C7000优化C/C++编译器.pdf》资料免费下载
    发表于 10-30 09:45 ?0次下载
    C7000优化C/C++<b class='flag-5'>编译器</b>

    Keil编译器优化方法

    我们都知道,代码是可以通过编译器优化的,有的时候,为了提高运行速度或者减少代码尺寸,会开启优化选项。
    的头像 发表于 10-23 16:35 ?2292次阅读
    Keil<b class='flag-5'>编译器</b>优化方法