1.3 面向对象程序设计的语言
1.3.1 面向对象程序设计语言的发展概况
为了适应高科技发展的需要,以及消除传统程序设计的局限性,自20世纪70年代以来研发出了各种不同的面向对象程序设计语言。现在公认的第一个真正面向对象程序设计语言是Smalltalk。它是由美国的Xerox公司于20世纪70年代初开发的。该语言第一次使用了“面向对象”的概念和程序风格,开创了面向对象程序设计的新范型,被誉为面向对象程序设计语言发展的里程碑。
实际上,面向对象程序设计语言的出现并非偶然,它是程序设计语言发展的必然结果。事实上,20世纪60年代研制出来的Simula语言已经引入了几个面向对象程序设计中的概念和特性。Smalltalk中类和继承的概念就是源于Simula语言,它的动态连编(聚束)的概念和交互式开发环境的思想则来自于50年代诞生的LISP语言,其信息隐藏与封装机制则可以看作70年代出现的CLU语言、Modula-2语言及Ada语言数据抽象机制的进一步发展。
Smalltalk的问世标志着面向对象程序设计语言的正式诞生。20世纪80年代以来,面向对象程序设计语言得到飞速发展,形形色色的面向对象程序设计语言如雨后春笋般地涌现。这时候,面向对象程序设计语言朝着两个方向发展:一个方向是朝着纯面向对象语言发展,如继Smalltalk之后,又出现了Eiffel、SELF等语言;另一个方向是朝着混合型面向对象语言发展,如将过程型与面向对象结合产生了C++、Objective-C、Object Pascal、Object Assembler、Object logo等一大批语言,将函数型(LISP)与面向对象结合产生了LOOPS、Flavors、CLOS等语言,将逻辑型(PROLOG)与面向对象结合产生了SPOOL、Orient 84K等语言。此外,还有一批面向对象的并发程序设计语言也相继出现,如ABCL、POOL、PROCOL等。我们将要学习的C++就是一种面向过程与面向对象相结合的语言。
当前新推出的程序设计语言和软件平台几乎都是面向对象的或基于对象的。例如,我们熟知的BC++、VC++、VB、PowerBuilder、Windows以及Java等。
这些语言和软件平台把OOP的概念和技术与数据库、多媒体、网络等技术融为一体,成为新一代的软件开发工具与环境。它们的出现标志着OOP已全面进入软件开发的主战场,成为软件开发的主力军。