BB语言由贝尔实验室于1969年所发明。它的设计受到了Fortran和BCPL的影响。 B语言实际上就是去除了Thompson所认为的无用组件的BCPL系统,以便使得它能适合当时微机的内存容量。 [http://en.wikipedia.org/wiki/B_(programming_language) ](http://en.wikipedia.org/wiki/B_(programming_language)) B引入了+=操作符(尽管应该念成=+),以及自增/自减操作符(++和--)
CC语言就是是B语言加上了Pascal里面的一些好的特性所组成的。它由Dennis Ritchie于1969年到1973年间在贝尔实验室所发明。 C语言应该是最重要的一门语言了。它获得了前所未有的成功。 除此之外,许多语言都是在C的基础上进行设计的,包括:
Simula挪威的仿真语言Simula I和Simula 67——从语法上来讲——是ALGOL 60的完整的超集。 它的影响非常深远。Simula以ALGOL 60为基础,并添加了对象的概念,因此它也被认为是第一门面向对象的编程语言。 Simula 67(于1967年发布)引入了对象,类,继承和子类的概念,同时还有虚函数,协程,以及离散事件模拟。 这还不止,它还引入了垃圾回收的特性。 它的程序是这样的:
SmalltalkSimula对Alan Kay的影响极大——他曾经就职于Xerox PARC,并于1972年开始研发Smalltalk。 Smalltalk最初是设计给小孩用的。它在真实环境下做了充分的测试,并进行了数次重构。它历经了多次改版在首次发布8年后才最终面世。 Smalltalk是一门伟大的语言,它是第一个真正的现代面向对象编程语言。 由于它的语法很难掌握,因此它一直也没能流行起来。然而,它几乎对所有的现代编程语言都产生了影响。Objective-C, C++, Java, C#, Eiffel, 和Ruby基本上都是C和Smalltalk的混合体。 下面这个例子演示了Smalltalk版的控制结构:
Self这是Smalltalk所影响的又一门语言——它也是在Xerox PARC中研发的——它就是Self)。 Self的设计目标是为了提升性能。它以Smalltalk为原型,并去掉了其中类的概念,以便运行速度能更快。 它没有使用类的概念,而是用到了原型:Self允许对象可以不通过类而直接继承自其它对象。 你可能也猜到了,JavaScript正是受它所影响的语言之一。 SchemeScheme是基于Actor模型设计的。Actor模型最早是1973年提出的,刚出现的时候被认为是个很前卫的概念。它是LISP语言)的一门方言,LISP是MIT于1958年所设计的一门人工智能语言。 它包含尾递归,词法闭包,以及许多很酷的特性。 示例:
EE语言揉合了Java与Joule,它是一门专为安全相关的应用程序所设计的语言。 它以Actor模型为基础,并实现了能力对象模型。
JavaScript终于说到它了。 JavaScript已经成为了一门非常重要的语言。在能访问到网络的设备里总会出现它的身影,它是WEB平台的顶梁柱,也是绝大多数WEB应用及移动应用的基石。多亏了Node.js,它现在也活跃到了服务端开发中。 JavaScript是基于Java, Scheme与Self来设计的。 它最初是由Netscape公司开发的,原本是希望实现一套类似于苹果公司的HyperCard的东西——这是苹果公司的Macintosh与IIGS电脑上的一款应用程序以及编程工具,它可以使程序开发变得更为简单——Netscape把它集成到了浏览器里。 它的作者Brendan Eich希望基于Scheme来进行设计,但Netscape的管理层认为大家不喜欢Scheme的语法,并要求他将其设计得与Java更像一点。 JavaScript综合了Java的语法(要不就不叫JavaScript了),Scheme的函数模型,以及Self的原型的特性。 由于Netscape公司的推动,它仅花了两周时期便实现完成并发布了出来。 注:本文讲的主要是与JavaScript相关的一些编程语言的历史。 原创文章转载请注明出处:编程语言简史 |