身为面向对象编程、移动计算机之父的他,为何说“计算机革命还没真正到来”?

2020 年 8 月 23 日 CSDN
作者 | 年素清
责编 | 李雪敬
出品 | 程序人生(ID:coder_life) 
艾伦·凯(艾伦 Kay)是近代计算机革命先驱之一,他最早提出了“面向对象编程”的概念,也是“Dynabook”(笔记本电脑的雏形)的最早阐述者。
他是一个真正意义上的全才,不仅是工程技术方面的专家,还在儿童发展理论、认识论、分子生物学等领域颇有建树,他擅长将它们融合在一起,在知识的交汇点上挖掘出更具价值的东西。此外,他还是个发明家。
艾伦有一句广为人知的名言:“预测未来的最好的办法就是创造未来。”

艾伦·凯,图片来自维基百科

 

首次提出“面向对象”

艾伦于 1940 年出生在美国马塞诸塞州。1岁时,全家随父亲迁往澳大利亚,世界第二次世界大战爆发后,又迁回美国。
艾伦3岁就可以阅读,家里有 6000 本书和大量的绘画。大量的阅读使得童年时期的艾伦就有了自己独立的观点,他说:“到我上学的时候,我已经读过几百本书。那时我已经有了许多自己的观点,我知道一年级所教的许多东西都很幼稚和虚假。当然我已经可以用五岁的声音维护自己的观点。”
1960 年,艾伦进入 Bethany 大学就读,但在一年之后,他就因抗议学校对待犹太人的不公问题而被学校开除。退学后的艾伦加入志愿兵服务队,在军队的一次计算机的能力倾向测试中,艾伦因为表现出众而被美国空军派遣到 IBM K101 工作。正是在那里,艾伦学习到了大量计算机有关的知识。
从军队退伍后,艾伦被科罗拉多大学录取,攻读数学和分子专业,毕业后进入犹他大学学习电气工程。
在犹他大学,艾伦开始使用由 1988 年图灵奖获得者伊凡·苏泽兰(Ivan Sutherland)开发的 Sketchpad 程序,结合 Simua 仿真语言编写程序。当时的计算机是个非常罕见的物件,那个时代的程序员使用一堆别人看不懂的字符工作,因为更高级的语言还没有被开发乃至推广。
随着对计算机接触的深入,艾伦开始思考计算机和编程。受这些程序思想的启发,再加上自己生物学的背景,他提出了“生物学类比”理论。艾伦假定理想的计算机将象生物体一样工作,为完成某个任务,每个“细胞”都要与其它“细胞”协同完成,而每个“细胞”又有自己的功能。为了解决另外的难题或试验另外的功能,“细胞”们可以实现重组,这一理论成为面向对象程序设计的萌芽。他的博士毕业论文也是围绕图形面向对象方面的研究展开。
 

 “计算机就像一种超级纸张”

1968 年,艾伦在 MIT 人工智能实验室见到了 Logo 语言的创始人西蒙·派珀特(SeymourPapert),派珀特和同事们向孩子们演示如何使用 Logo。艾伦看完之后,他之前对于计算机的认识受到极大冲击,艾伦后来回忆起这段经历说:“我看到了第一个真正的手写体识别系统。这是一套今人难以置信的系统。它对我产生了巨大影响,因为我有种心有灵犀的感觉。当我将这些观念综合起来,计算机的概念就象是一种超级媒体,一种超级纸张。”
从这以后,艾伦开始学习 Logo 语言。
 

 推动苹果 Mac 机的诞生

1971 年,艾伦进入 Xerox PARC(施乐帕克研究中心)开始参与 Alto 计算机的开发。当时的位图显示器十分昂贵,艾伦成功说服 PARC 让他使用这些位图显示器,这使得艾伦和他的团队能够实现不同大小和字体的文字,使用多窗口环境,以及一些对图像处理的高端支持。基于这些操作,艾伦最后发明了重叠窗口、图标等图形用户界面。
1979 年,艾伦邀请史蒂夫·乔布斯(SteveJobs)、杰夫·拉斯金(Teff Raskin)以及其它苹果公司的元老们来到 PARC 参观,乔布斯一行人对艾伦的视窗图形用户界面非常感兴趣,他们认为这就是未来的电脑。
1984 年,在乔布斯的极力邀请下,艾伦加盟苹果。同年,苹果推出 Macintosh 计算机(就是我们所知的Mac机),首次将图形用户界面应用到个人计算机之上,引起计算产业界的巨大轰动。
 

面向对象之父与移动计算机之父

1968 年,艾伦受派珀特启发,他构想出一台像书本一样大小的计算机,用户尤其是儿童可以用它来代替纸张,他将这个项目称之为“Kiddie Komp”,并在此基础上提出了“Dynabook”的概念,后来在 1972 年一篇名为《适合各年龄段儿童的个人计算机》的论文中发表了这个概念。“Dynabook”后来演变成了今天的超薄笔记本电脑。
为了将 Dynabook 的想法落地,艾伦开始着手 Smalltalk(面向对象的程序设计语言)的研发。之后,他率领团队对 Smalltalk 的执行效率和规模进行了优化,他们引入了继承和子类的概念并确定了语言的语法,这使得编译器能够产生高效、可执行、精炼的二进制代码,这些概念的引入使 Smalltalk 成为最早的面向对象语言。艾伦因此被誉为“面向对象之父”,2003 年4月,美国计算机学会(ACM)将当年的图灵奖授予了艾伦,以表彰他和他的 Smalltalk 语言。
此外,Smalltalk 吸取了 Mac 机原型的优秀经验,能够通过高度便携的联网方式,以编辑、授权的形式模拟所有现有媒体。1993年,苹果推出世界上第一款掌上电脑“Apple Newton”,终于将 Dynabook 理念成为了现实。艾伦也因此被后人称为“移动计算机之父”。

 “计算机革命并未真正发生”

尽管计算机自诞生之日到艾伦的时代经历了翻天覆地的变化,但是他却认为计算机革命并未真正发生,软件工程正在向和摩尔定律相反的方向发展,当硬件容量逐年递增的时候,软件则在无谓地持续膨胀,而背后的原因可能是虚弱而难于扩展的思路和工具、懒惰和缺少知识等。
当时有首搞笑的单行诗:“Andy 给予的一切,都被 Bill 夺走”。指的是每当 Intel 的 CEO 安迪·葛洛夫(Andy Grove)推出一款性能更高的芯片,微软的 CEO 比尔·盖茨(Bill Gates)都会通过升级软件使新硬件带来的更高性能消失于无形。
为了改善当前软件开发的窘境,艾伦领导了向着彻底改造编程技术的 STEP 研究课题,目标是实现摩尔定律在软件代码表达效率上的飞跃,途径是把开发系统所需要编写的代码量减少到原先的百分之一、千分之一、万分之一甚至更少。
2011 年,艾伦指出软件工程已陷入停滞,成为了迷失的学科,无法跟上硬件和其他科学技术领域发展的步伐。巨大的代码库已经沦为了一个垃圾场,大到任何人都无法看懂产生 Vista 或者 Word 的1亿行源代码,而本来只需要一小部分代码就够了。  
参考链接:
https://baike.baidu.com/item/%E8%89%BE%E4%BC%A6%C2%B7%E5%87%AF/10709189?fr=aladdin
http://www.gerenjianli.com/Mingren/28/o5o1idm8om.html
http://media.people.com.cn/n1/2019/0510/c14677-31077446.html


更多精彩推荐

           
           
             
实用小技能 | 用 Word 和 Excel 自制一个题库自判断答题系统!
中国数据库产业的“高地战事”
融资 2000 万美元后,他竟将核心代码全开源,这……能行吗?
Get了!用Python制作数据预测集成工具 | 附代码
学会这10大高性能开发技术,轻松躲过裁员名单!
小心!你可能玩了假的DeFi
点分享
点点赞
点在看
登录查看更多
0

相关内容

移动计算是随着移动通信、互联网、数据库、分布式计算等技术的发展而兴起的新技术。移动计算技术将使计算机或其它信息智能终端设备在无线环境下实现数据传输及资源共享。它的作用是将有用、准确、及时的信息提供给任何时间、任何地点的任何客户。这将极大地改变人们的生活方式和工作方式。
【2020新书】C语言编程傻瓜式入门,第二版,464页pdf
专知会员服务
61+阅读 · 2020年10月15日
【干货书】管理统计和数据科学原理,678页pdf
专知会员服务
182+阅读 · 2020年7月29日
【Java实现遗传算法】162页pdf,Genetic Algorithms in Java Basics
专知会员服务
43+阅读 · 2020年7月19日
中科大-人工智能方向专业课程2020《脑与认知科学导论》
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
社会工程学之伪装
计算机与网络安全
4+阅读 · 2019年1月2日
做机器学习和AI必备的42个数学知识点
AI前线
9+阅读 · 2018年12月6日
刚开始学编程?这几款小工具能让你事半功倍
荐书丨深度学习核心技术与实践
程序人生
6+阅读 · 2018年3月16日
一位数据分析师的书单
R语言中文社区
12+阅读 · 2017年10月28日
Arxiv
35+阅读 · 2020年1月2日
Arxiv
6+阅读 · 2018年8月27日
Learning to Importance Sample in Primary Sample Space
VIP会员
Top
微信扫码咨询专知VIP会员