当前位置: 首页 > 科技观察

漫画-这个北欧小国发明的编程技术已经风靡全球!

时间:2023-03-21 00:34:37 科技观察

60年代,挪威计算中心。一个新员工刚来上班,发现一楼黑板前有两个人在打架。一个新员工马上跑到接线员那里去报告什么编程语言会让两个人大发雷霆?当时,Nygaard正在为一个复杂的系统编写仿真程序。模拟程序需要先定义一般行为,然后创建大量实例。挪威不是计算机和软件强国,挪威计算中心也不是资金雄厚的研究机构。Dahl和Nygaard因发明一种新的编程语言而在组织内受到批评。但Dahl和Nygaard并不在意,他们开始基于ALGOL60设计Simula。在不断的设计迭代中,两人迸发出强大的创造力,在Simula中发明了现代面向对象的所有关键概念!Simula本来是想做“模拟”,后来大家才意识到这是一种新的编程泛型,可以作为一种通用的编程语言。Simula是世界上第一个面向对象的语言。Dahl和Nygaard因在面向对象方面的杰出贡献获得了计算机界的最高奖项:图灵奖。遗憾的是,2002年,达尔和尼加德不幸离世,在此向两位前辈致敬。让我们再次将目光转向美国。1968年,博士生AlanKay提出了一个非常超前的想法:做一台适合各个年龄段孩子的个人电脑!动力本。Dynabook需要有一个GUI,有一个无线网络,是协作的,并且本身就是一个强大的编程环境。1970年,AlanKay加入了著名的施乐帕洛阿尔托研发中心,在那里Dynabook的想法成功地启发施乐开发了Alto电脑。Alto电脑是一款划时代的产品,其中有很多重大的创新都会影响到未来的电脑。Smalltalk是第一种纯面向对象的编程语言。在Smalltalk中,一切都是对象!所有的计算都是通过发送消息来完成的,消息传递是Smalltalk中最重要的概念。Smalltalk对后来的编程语言产生了巨大的影响,它发明的MVC被后来的各种框架采用。它实现的消息传递、GC、字节码和纯面向对象被很多语言借鉴。后来开发了重构、设计模式和极限编程。Simula和Smalltalk作为两个面向对象的先驱,可以说走在了时代的前面,但都没有大规模流行起来。1969年,一位名叫BjarneStroustrup的年轻人进入丹麦奥胡斯大学学习计算机科学。在这里,他遇到了Simula的发明者Nygaard。挪威离丹麦不远,尼加德经常来这里讲学。面向对象的思想在BjarneStroustrup的脑海中种下了种子。1979年,BjarneStroustrup在剑桥大学撰写博士论文时,再次注意到了Simula。BjarneStroustrup毕业后加入了贝尔实验室,在那里他近距离接触了C语言。BjarneStroustrup决定在C语言中添加一些类似Simula的面向对象的特性。1985年,C++的第一个版本发布。它不仅具有C语言的迅雷不及掩耳之势,而且还支持面向对象,受到了大家的热烈欢迎。面向对象从此进入主流。20世纪90年代,Java的出现将面向对象推向了顶峰。与此同时,在世界的另一端