计算机人物 | 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。