A.2 Smalltalk
Smalltalk由Xerox Palo Alto研究中心学习研究小组成员作为Dynabook的软件元素而创建,Dynabook是Alan Kay提出的一个构想性项目。虽然Smalltalk也从FLEX语言和Seymore Papert与Wallace Feurzeig的工作中吸取了某些想法,但Simula对它影响最大。Smalltalk代表一门语言,也代表一种软件开发环境。它是一门纯面向对象编程(www.cppentry.com)语言,其中所有东西都被看作是对象,甚至整数也是类。在Simula之后,Smalltalk也许是最重要的面向对象编程(www.cppentry.com)语言,因为它的概念不仅影响到几乎每一门后来的面向对象编程(www.cppentry.com)语言的设计(即使Smalltalk自身不再流行),还影响到图形用户界面的视感,如Macintosh用户界面、Windows、Motif、KDE和Gnome,所有这些现在已经获得广泛认可。
Smalltalk的演化经历了十多年的努力,是团队协作的结果。在大多数Smalltalk开发时间内,Dan Ingalls是主架构师,还有Peter Deutsch、Glenn Krasner和Kim McCall的协作和支持,Smalltalk环境的元素由James Althoff、Robert Flegal、Ted Kaehler、Diana Merry和Steve Putz开发,Adele Goldberg和David Robson 担任Smalltalk项目的记录人。
有5个确认的Smalltalk早期发布版本:Smalltalk-72、Smalltalk-74、Smalltalk-76、Smalltalk-78和Smalltalk-80。Smalltalk-72和Smalltalk-74不支持继承,但它们确实支持大多数语言概念基础,包括消息传送和多态的思想。后来的发布版本把类变成了一等公民,最终,在环境里,所有东西都被处理成一个对象。当前,存在大约20个活动版本的Smalltalk[6],其中大多数是Smalltalk-80针对特定平台(硬件方式和系统方式)的移植。这些版本中,除了用户界面通常差别很大,类库和总体功能是相似的。