面向对象编程的理论历史
1967年,挪威计算中心的基斯顿·尼加德和奥莱·约翰·达尔开发了Simula67语言,它提供了比子程序更高级别的抽象和封装,并引入了数据抽象和类的概念。它被认为是第一种面向对象的语言。
20世纪70年代初,Palo Alto研究中心的Alan Kay开发了Smalltalk语言,随后又开发了Smalltalk-80,被认为是最纯粹的面向对象语言,并对后来的面向对象语言产生了深远的影响,如Object-C、C++、Self和Eiffl。
随着面向对象语言的出现,面向对象程序设计应运而生并迅速发展。
之后,面向对象继续渗透到其他阶段。1980年,Grady Booch提出了面向对象设计的概念,从此开始了面向对象的分析。
1985,第一个商用面向对象数据库问世。自1990以来,面向对象的分析、测试、度量和管理研究取得了很大进展。
事实上,“对象”和“对象属性”的概念可以追溯到20世纪50年代初,它们最早出现在早期关于人工智能的著作中。但是在面向对象语言出现之后,面向对象思想得到了迅速发展。在过去的几十年里,编程语言不断改进对抽象机制的支持:从机器语言到汇编语言,到高级语言,再到面向对象语言。汇编语言出现后,程序员避免了直接用0-1,而是用符号来表示机器指令,这样写程序就更容易了。当程序规模不断增长时,Fortran、C、Pascal等高级语言出现,使得编写复杂程序变得容易,程序员可以更好地应对日益增加的复杂性。但是,如果软件系统达到一定规模,即使应用结构化编程方法,情况仍然会变得不可控。作为降低复杂度的工具,面向对象语言应运而生,面向对象编程也是如此。