
翻译:寒蝉退士
译者声明:译者对译文不做任何担保,译者对译文不拥有任何权利并且不负担任何责任和义务。
注意这个教程在例子中使用了 Squeak 的外观和功能。Squeak 与现代商业实现 (例如 VisualWorks 和 IBMSmalltalk)的主要区别是,它使用标准 Smalltalk 语法和编程工具,并且它的类库非常类似于在最初的系列书籍中报告的Smalltalk 系统。
历史和动机
Smalltalk 的根源可回溯到七十年代早期,那时在 Xerox Palo Alto 研究中心 (Parc) 的 Dynabook计划的环境下探索出的许多想法被结合到 Smalltalk/ObjectWorks 编程系统中。这个 "Dynabook"基于一个梦想:和儿童拥有便宜的笔记本大小的个人计算机,有能力处理他们所有的与信息有关的需求。在加入 Xerox Parc 之前, 这个想法的主要倡导者Alan Kay 工作在 Utah 大学,他在那里是开发 Flex 编程系统小组的成员,这个系统是针对灵活的面向模拟和图形的个人计算机的一个新颖的设计,有从 Simula 和 Sketchpad 演化来得许多想法。这时 Kay 向 Parc的主管层建议扩充这个研究,他的设计完全超越了当时的计算机硬件和软件技术的接受能力。 Dynabook基于的假定是有充足的内存和处理能力,还有可以感知手指触摸的一个平坦的屏幕显示器。为了声音再流通计算(比如给商人)。为了完全开拓新媒介提供的潜在的交互,需要用户有一定程度的编程技巧。但是现存的编程语言是为专家设计的并在很大程度上只适合数值任务;在 Kay看来严格的这种应用对希望使用 Dynabook 的工作方式是相对的无关紧要的。尽管 Lisp 家族中的语言提供了必要的符号处理能力,但仍然缺乏数据封装构造,并且不迎合由非专家用户来做容易的扩展。
所以开发一门新语言获得了优先权。与此同时 S. Papert 和一组其他研究人员也在制作叫做 Logo 的一个交互性的和高度图形化的基于计算机的学习环境,他们想用它来教儿童编程。Logo 基于 J. Piaget's 在发展心理学上的工作,而Kay吸收了许多它的中心观念。在过程式语言中编程经常要求过程的精密组合,并且使这种构造工作的复杂性随程序的长度而呈指数增长。因为“动态”个人计算媒介的整体想法极度依赖的特征是让非专家做轻易的概念扩展,Kay选择分层设计的积木方法,围绕封装和继承来建造。 Smalltalk 是最终形成的编程语言。它是完全基于对象和消息概念的第一个计算机语言。
Dynabook计划从未成功完成,而许多今天的笔记本计算机已经达到和超过了它的最初目标。在这项计划存在那些年 Xerox Parc做了许多研究,对计算机的很多领域有巨大影响。第一个实验实现运行在所谓的 Alto 工作站上,它是改装的 Data General Nova 小型机。后来被Dorado 所替代,它是订制的和非常快的个人计算机。在开发的时候它们都是最新技术的计算机。在 Xerox Parc 的研究首创了在白形上的内存映射黑色输出(替代了在黑色 CRT 显示器上的传统的绿色输出)和局域网的以太网体系。在软件方面,用多于一个多年的周期率先实验了在基于窗口的、鼠标和菜单驱动的用户界面上的许多革新想法。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-28676-1.html
民进党当选
200万搞定