第一种支持面向对象的计算机语言是什么?
“对象”和“对象的属性”等概念可以追溯到20世纪50年代初。它们最早出现在关于人工智能的早期作品中。然而,OO的实际发展始于1966年(中国爆发文化大革命的时候)。当时,基斯顿·尼加德和奥利·约翰·达尔开发了具有更高抽象机制的Simula语言。Simula提供了比子程序更高层次的抽象和封装;为了模拟实际问题,引入了数据抽象和类的概念。几乎与此同时,艾伦·凯正在犹他大学的一台个人电脑上努力工作,他希望在电脑上实现图形和模拟。虽然由于软硬件的限制,凯的尝试没有成功,但他的想法并没有丢失。20世纪70年代初,他加入了帕洛阿尔托研究中心(PARC),并将这些想法再次付诸实践。
在PARC,他的研究小组坚信,计算机技术是改善人与人之间以及人与机器之间沟通渠道的关键。在这种信念的支持下,并吸收了Simula类的概念,他们开发了Smalltalk语言。PARC在1972发布了Smalltalk的第一个版本。大约在这个时候,术语“面向对象”被正式定义。Smalltalk被认为是第一种真正面向对象的语言。Smalltalk的目标是让软件设计尽可能自动化。在Smalltalk中,一切都是对象——一个类的实例。在Smalltalk的原始世界中,对象与名词紧密相连。Smalltalk还支持高度交互的开发环境和原型方法。这部原著最初并没有发表,而是被视为一种实验性质很强的学术兴趣。
Smalltalk-80是PARC一系列闲聊版本的总结,发布于1981。1981八月< & ltBYTE & gt& gt该杂志发表了Smalltalk开发团队的重要成果。在这本杂志的封面上,一个热气球正从冉冉的一个孤岛上升起,标志着PARC面向对象思想的开始。是时候把它发布到软件开发社区了。起初,这种影响只是逐渐的,但很快就上升到了一个热门的水平。热气球确实起航了,而且影响深远。早期Smalltalk对开发环境的研究导致了一系列后续进展:窗口、图标、鼠标、下拉窗口环境。Smalltalk还影响了80年代早期和中期的面向对象语言,如Object-C (1986)、C++(1986)、Self (1987)、EIF FL (1987)和Flavors (65437)。对象不再仅仅与名词相关联,还包括事件和过程。1980 Grady Booch首先提出了面向对象设计(OOD)的概念。然后其他人也跟着来了,面向对象分析的技术开始发表。1985,第一个商用面向对象数据库问世。自1990以来,面向对象的分析、测试、度量和管理研究取得了很大进展。目前,对象技术的前沿课题包括设计模式、分布式对象系统和基于网络的对象应用。