计算机人物 | Alan Kay,学C++、Python,其中的"面向对象"就是他造的

计算机人物 | Alan Kay,学C++、Python,其中的"面向对象"就是他造的

本文核心观点
1940年5月17日,Alan Kay在马萨诸塞州春田市出生。 2003年图灵奖,2004年京都奖,同年还和三位同事合得Charles Stark Draper Prize(美国工程界最高奖之一)。

计算机人物 | Alan Kay,学C++、Python,其中的"面向对象"就是他造的

Smalltalk之父,2003图灵奖;他还顺便启发了乔布斯做Mac

1940年5月17日,Alan Kay在马萨诸塞州春田市出生。

2003年图灵奖,2004年京都奖,同年还和三位同事合得Charles Stark Draper Prize(美国工程界最高奖之一)。

美国国家工程院院士、艺术与科学院院士。

今年86岁,还在UCLA、京都大学、MIT三处做访问研究。

进计算机界之前,他是个职业爵士吉他手

母亲是音乐家。他从小听着音乐长大,后来上了纽约的布鲁克林技术高中。

高中毕业他没直接上大学。1950年代,他靠演奏爵士吉他维生,在丹佛教过一年吉他。

后来被征入伍,先陆军,再转空军。空军给新兵做能力测试,他考得很好,被分去当计算机程序员。这是他第一次摸到电脑。

退伍后才上大学。科罗拉多大学(数学+分子生物学双学位),犹他大学硕士、博士。1969年拿到计算机科学博士那年,他29岁。

1968年,那场让他坐不住的演示

1968年12月9日,旧金山。一个叫Doug Engelbart的人要在台上做演示。

Kay高烧坚持赶到现场。

这场演示后来叫"所有演示之母"(The Mother of All Demos)。Engelbart 90分钟里头一次展示了鼠标、视频会议、屏幕分窗、超文本、协作编辑。今天电脑屏上能看到的几乎所有东西,那天一次性亮相。

"这是我一生最伟大的经历之一。"

同年他还去MIT拜访了Seymour Papert,看到一群小孩用LOGO在屏幕上编程做数学。回来以后,他在脑子里画下一台机器:A4纸大小,孩子能拿在手里用,屏上能写字、画图,还能无线连到别的电脑。

他给这台机器起名:Dynabook。1972年他写了一篇正式论文,标题叫《一台给所有年龄孩子用的个人电脑》。

"面向对象"这个词,是他造的

1970年,施乐(Xerox)在加州Palo Alto开了一家研究中心,叫PARC。Kay进了PARC。

他在PARC带的组叫"学习研究组"。1972年开始,这个组做了一门新语言:Smalltalk

"面向对象编程"这套理念,雏形是挪威人1967年做的一门叫Simula的语言。Kay看了之后,给这套范式起了个英文名字"object-oriented"(面向对象),用Smalltalk把它做完整。

今天孩子学Python,class关键字、obj = MyClass()这种写法;学C++、学Java,遇到的"类""对象""继承""消息",都是从Smalltalk来的。

2003年,图灵奖颁给Kay。颁奖词写:表彰他"在当代面向对象编程语言根本思想上的开创性贡献,以及领导了Smalltalk团队"。

顺便启发了乔布斯做Mac

1979年底,乔布斯带苹果几个工程师来PARC参观。

PARC那天演示了三件事:图形界面、以太网、面向对象编程。

乔布斯看到第一件就震住了。他自己后来承认:那天他光顾着看图形界面,回去做了Lisa,做了Macintosh,再后来做了iPhone、iPad。后面演示的网络和真正的面向对象编程,他根本没看明白。

Smalltalk和重叠窗口的图形界面,都是Kay团队在PARC做的。

1971年,PARC内部一次会议上,他说过一句话:

预测未来最好的办法,就是把它造出来。
(The best way to predict the future is to invent it.)

后来这句话被科技圈引用了无数次。

2007年那次比划

2007年1月,旧金山。乔布斯刚开完第一代iPhone的发布会。

台下坐着Kay。乔布斯把iPhone拿到他手里,问:"Alan,这是不是好到能让你认真挑刺了?"(原文:Alan, is this good enough to be criticized?)

Kay没正面回答。他用手在空中比划出一个尺寸,A4纸那种大小。正是35年前他Dynabook论文里画过的尺寸。然后对乔布斯说:

Steve,做成这个大小,你就能称霸世界。
(Steve, make it this size and you'll rule the world.)

三年后,苹果做出了iPad

微信二维码

扫码备注【NOAI】加交流群