小话动物园

2020-12-18 16:09:01

为纪念Smalltalk-80发行40周年,计算机历史博物馆自豪地宣布与Dan Ingalls合作保护和托管“ Smalltalk动物园”。下面,计算机科学家Adele Goldberg解释了Smalltalk背后的愿景。

Smalltalk Zoo是革命性图形编程和用户环境Smalltalk的历史版本的集合,Smalltalk最初是在Xerox PARC上开发的,从1972年的版本一直到1995年开始开发的现代“ Squeak”版本。这些模拟的Smalltalk环境在您的Web浏览器中运行,并由CHM托管在s malltalkzoo.thechm.org。

Smalltalk是由Alan Kay领导的1970年代Xerox PARC的学习研究小组(LRG)开发的革命性系统。 Smalltalk由编程语言,开发环境和图形用户界面(GUI)组成,它们在PARC开创性的Alto计算机上运行。实际上,最著名的是GUI启发了史蒂夫·乔布斯(Steve Jobs)和他的苹果工程师团队于1979年访问PARC。Smalltalk开创了重叠窗口,弹出菜单和浏览器浏览器,这些都由鼠标控制。今天,所有这些UI元素都通过Macintosh和Microsoft Windows等系统归结为我们。 Smalltalk也是最早,最有影响力的面向对象编程语言之一,它构成了当今最主要的编程语言类型。面向对象的语言旨在简化以现有方式重用现有代码的方式。 Python,Java,Ruby和Objective-C等都应归功于Smalltalk最初开发的构想。

艾伦·凯(Alan Kay)的Smalltalk愿景是,儿童可以轻松使用它。它将为他的个人计算愿景提供一个用户环境,即“ Dynabook”(一种他模仿的平板电脑)。凯了解到计算机是一种媒体形式,但是与传统的印刷或广播媒体不同,它们可以轻松地针对用户的特定兴趣和需求进行定制。换句话说,运行Smalltalk的计算机将是“个人动态媒介”。对于Kay来说,这意味着用户,尤其是孩子,需要能够对其系统进行编程。这些想法在PARC科学家阿黛尔·戈德堡(Adele Goldberg)设计和运行的一个试点项目中,在中学生的教室中进行了测试,在该项目中,学生们使用Xerox Alto计算机在实验室中对Smalltalk进行了实验。通过修改现有代码,学生们可以创建程序,例如图形编辑工具,动画工具和音乐创作程序。

这些想法在著名的Steve Jobs和Apple的Smalltalk演示中得到了进一步说明,这些演示启发了Jobs基于相似的图形界面制造Lisa和Macintosh计算机。丹·英加尔斯(Dan Ingalls)是示威者之一。在最著名的演示中,Dan展示了用户如何通过在系统运行时仅调整几行代码,即可将文本选择行为从具有倒置文本的纯黑框更改为围绕文本的轮廓。当今大多数系统都需要重新编译和重新加载才能使任何更改生效。

在演示的稍后部分,乔布斯观察到文本视图的滚动行为是生涩的,而不是平滑的,并询问是否也可以更改。逐行滚动对于编辑代码来说似乎是最自然的,但是在午餐时间,Dan重新组织了一些代码以使之成为可能。当乔布斯回来时,丹展示了一个简单的变化,他可以使窗口平滑滚动,一次滚动一个像素,而不是一次滚动,而系统仍在运行。 Dan在现场活动和以下录制的视频演示中,在恢复的Xerox Alto上为CHM重复了此演示。选择行为演示始于39:04,滚动行为演示始于44:48。这些特定的演示在Xerox Alto上运行的Smalltalk-76中进行。