1.3 从编程语言演化为综合技术
面向对象最初是以编程语言的身份出现的,在之后的 40 多年里,经过不断发展,逐渐被应用到了开发的各个领域。这里我们来简单回顾一下面向对象的全貌和发展过程,如图1-1 所示。
图1-1 面向对象的全貌和发展过程
面向对象起源于 1967 年在挪威开发出来的 Simula 67 编程语言。该语言拥有类、多态和继承等以往的编程语言中没有的优良结构,被称为最早的面向对象编程(Object Oriented Programming language,OOP1)语言。后来,艾伦·凯率领的团队开发的 Smalltalk 沿用了该结构,确立了“面向对象”的概念。此后,具有相同结构的 C++、Objective-C、Java、C#、Python 和 Ruby 等诸多编程语言被开发出来,并延续至今。
1严格来说,正确的表达方式是,将面向对象编程语言(Object Oriented Programming Language)称为 OOPL,使用 OOPL 进行编程的操作称为面向对象编程(OOP)。不过,在本书中,在未严格区分面向对象编程语言和面向对象编程时,表述为 OOP。
OOP 使得大规模软件的可重用构件群的创建成为可能,这些构件群被称为类库或者框架。另外,创建可重用构件群时使用的固定的设计思想被提炼为设计模式。
另外,使用图形来表示利用 OOP 结构创建的软件结构的方法称为统一建模语言(Unified Modeling Language,UML)。在此基础上,还出现了将 OOP 思想应用于上游工程的建模,以及用于顺利推进系统开发的敏捷开发。
如今,面向对象已经成为一门覆盖软件开发所有领域的综合技术。虽然这些技术所涉及的领域和内容并不相同,但目的都是顺利推进软件开发。因此,通过以各种形式灵活运用前人的研究和技术窍门,有助于我们提高软件的质量和开发效率。