被哈佛拒绝终身教职——19年后,他凭同一本"小书"拿下图灵奖
单击上方“图灵人工智能”,选择“星标”公众号
您想知道的人工智能干货,第一时间送达

语言:APL (A Programming Language)
创建年份:1962(符号系统)/ 1966(首次实现)
创建者:肯尼斯·艾佛森(Kenneth E. Iverson,1920-2004)
哈佛说"不"
1960年,坎布里奇(Cambridge)。肯尼斯·艾佛森站在哈佛大学的走廊里,手里捏着一张通知。
终身教职申请被拒了。
评审委员会的理由很简单:五年了,他只出版了一本"小书"——一本薄薄的、全是奇怪数学符号的小册子,既不像专著,也不像教材。哈佛不觉得这算"学术成果"。
弗雷德里克·布鲁克斯(Frederick Brooks)后来回忆这件事时,话里带着讽刺:"那本'小书'后来为他赢得了图灵奖。"
布鲁克斯不是旁观者。他是艾佛森在哈佛的助教——后来成为图灵奖得主、《人月神话》的作者、IBM System/360 的总设计师。而此时,他已经先一步加入了 IBM。他给失意的艾佛森打了一个电话:"来 IBM 吧。坚持做你真正想做的事。管理层太缺新想法了——只要不是明显疯狂的东西,都会得到支持。"
艾佛森去了。薪资翻了一倍。但他的"那件事",看起来确实有点疯狂。

九年级辍学的农场男孩

但麻烦从这里就开始了。他教课的时候发现,传统数学符号用来描述算法,根本不够用。
一行代码解决一切
你想用数学公式写 a = (b + c) / b × c,很简单。
但你想描述"把一个数组里所有偶数挑出来,乘以2,再求和"——传统数学符号没有一套统一的写法。∑ 求和当然可以,但加上条件筛选、数组索引、矩阵转置,符号开始打架。
艾佛森被这个痛点"震惊了"(他自己的原话是 appalled)。从1957年开始,他在课堂上自创了一套符号系统——用希腊字母、箭头、圆圈来表示各种数组操作。他管这个叫"Iverson Notation"(艾佛森记法)。
1962年,他把这些符号整理成书出版。书名就叫《A Programming Language》——注意,这里的"Programming"指的不是计算机编程,而是数学意义上的"规划计算过程"。

APL 诞生了。名字是法尔科夫起的,就是那本"小书"的首字母缩写——A Programming Language。
专属键盘,为符号而生



艾佛森发现自己正在失去对 APL 的控制。他创造的符号系统,被一个他管不了的方向拖着走。
1980年,他离开了 IBM。在 IBM 待了整整二十年之后。他加入了 I.P. Sharp Associates(IP夏普联合公司),一家专门提供 APL 分时服务的小公司。在那里,他主导 Sharp APL 的演化,继续沿着自己相信的方向推进语言设计。
但他再也没能主导 APL 的未来。从 IBM 到 I.P. Sharp,再到 1987 年退休——他是 APL 之父,却不再拥有这门语言。

"只写语言"的宿命
但 APL 有一道过不去的坎——它的代码,太难读了。
一个经典例子:找出 1 到 R 之间的所有质数。APL 只需要一行:
(~R∈R∘.×R)/R←1↓ιR
从 APL 到整个数据世界
艾佛森1980年离开 IBM,加入 I.P. Sharp Associates。1987年退休后,他和罗杰·胡(Roger Hui)合作,在1990年推出了APL的精神继承者——J语言。J用 ASCII 字符替代了希腊字母,但保留了全部的数组编程哲学。

哈佛当年没说错——它确实不是标准的学术著作。
它是更重要的东西。

文章精选:
1.图灵奖得主姚期智最新演讲: AI有边界,恰恰是好事
