编译器|首位女性图灵奖获得者离世,曾开发上古语言COBOL编译器
萧箫 发自 凹非寺
量子位 报道 | 公众号 QbitAI
历史上第一位女性图灵奖得主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编译器】参考来源:《编程人生(Coders at Work)》
推荐阅读
- |江苏盐城一面包车内发现女性尸体,警方向广大群众征集线索
- 休闲游戏|中国女性手游玩家数已超男性!你还以为女玩家就只玩乙女游戏吗?
- 影像|华为P40系列艺术共创影展:聚焦影像艺术 诠释女性力量
- 央视新闻|印度北方邦一女性庇护所90人感染新冠病毒
- 小北谈历史|她在位仅9天,被砍头时才17岁,是英国首位女王
- 美白|女性不想老得快,可多吃此物,美白肌肤,消脂瘦身,减少老年斑
- 阎连科|《她们》之前的阎连科:我是直男,过去写的女性是简单化的
- 女性不想老太快,可多吃此果,改善气色,淡化皱纹,更显年轻
- 看完她42岁的穿搭,终于明白,穿衣显气质对于一个女性有多重要
- 多年战争后,叙利亚女性有多惨?在黑市被明码标价,比冰箱都便宜
