Smalltalk

来自站长百科
跳转至: 导航、​ 搜索

Smalltalk被公认为历史上第二个面向对象的程序设计语言和第一个真正的集成开发环境 (IDE)。由Alan KayDan IngallsTed KaehlerAdele Goldberg等于70年代初在Xerox PARC开发。Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:Objective-CActorJavaRuby等。90年代的许多软件开发思想得利于Smalltalk,例如Design PatternsExtreme Programming(XP)和Refactoring等。

什么是Smalltalk[ ]

Smalltalk和许多程序设计语言不同,它不仅仅是一门语言。 一种面向对象的程序设计语言:它是一种面向对象的语言,包含语言的语法和语义。一些编译器可以通过Smalltalk源程序产生可执行文件。这些编译器通常产生一种能在虚拟机上运行的二进制代码。Smalltalk语言本身非常精炼。 一种程序设计环境:这里指的是一种提供许多 对象 的系统,而不是某种特殊的开发环境。和许多语言不同(包括C++),Smalltalk附带有一个巨大的、相当标准的类库。这些 类 使得开发Smalltalk程序的效率非常高。在其它语言(例如 AdaCPascal )中通常被作为语言的一部分的功能(例如条件判断,循环等),在Smalltalk由特定的类提供。 一个应用开发环境(ADE):由于Smalltalk的历史原因,它具有一个非常优秀的高度集成、开放的应用开发环境。由于开发环境中的浏览器、监视器以及调试器都由同样的源程序衍生出来的,不同的版本之间也具有相当好的兼容性。此外,这些工具的源程序都可以在ADE直接存取。

Smalltalk的历史[ ]

最早的Smalltalk原型由Alan Kay于70年代初提出。类(来自Simula-67)、海龟绘图(来自MIT的 LOGO )以及 图形界面 等概念的有机组合,构成了Smalltalk的最初的蓝图。 在1971年到1975年之间,Kay在Xerox PARC的小组设计并实现了第一个真正的Smalltalk语言系统。这个系统具有以下几个技术创新: 语言完全基于Simula的类和消息的概念。 语言没有固定的语法,语法分析由类本身完成。 开发环境的革新相当迅速。 虽然当时的位图显示器十分昂贵,但是Kay却说服了PARC让他使用这些位图显示器,这使得Kay和他的小组能够实现不同大小和字体的文字,使用多窗口环境,以及一些对图像处理的高端支持。 1975-76年间,Kay小组认识到应当对执行效率和规模进行优化。于是他们在许多重要方面重新设计了Smalltalk系统,在语言上: 引入了继承和子类的概念。 确定了语言的语法,这使得编译器能够产生高效、可执行、精炼的二进制代码。 Larry Tesler设计了浏览器,这极大地提高了Smalltalk程序员的编程效率。 前述的所有Smalltalk系统都是在特殊的硬件上实现的,直到1977-78年,Bruce Horn 和 Ted Kaehler 把Smalltalk-76移植到由Intel 8086处理器和自定显示器所组成的硬件环境(被称为NoteTaker)上。虽然这种硬件环境只生产了10台,但是它证明了在通常的处理器上实现Smalltalk的可能性。

Smalltalk的开发环境[ ]

Pharo的目标是提供一个简洁新颖的开源Smalltalk开 发环境。Smalltalk被公认为历史上第二个面向对象的程序设计语言和第一个真正的集成开发环境(IDE)。Smalltalk由Alan Kay,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC开发。Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:Objective-CActorJavaRuby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式、敏捷编程和重构等。


相关条目[ ]

参考来源[ ]