Smalltalk

✍ dations ◷ 2025-08-22 07:46:01 #面向对象的编程语言,基于类的编程语言,Smalltalk编程语言家族,1972年创建的编程语言

Smalltalk是一种面向对象的、动态类型的编程语言。Smalltalk由艾伦·凯,Dan Ingalls,Ted Kaehler,Adele Goldberg等于70年代初在Xerox PARC开发。

Smalltalk对其它众多的程序设计语言的产生起到了极大的推动作用,主要有:C++,C#,Objective-C,Actor,Java和Ruby等。90年代的许多软件开发思想得利于Smalltalk,例如设计模式、敏捷编程和代码重构等。

Smalltalk和许多程序设计语言不同,它不仅仅是一门语言。下面从几个不同的角度来解释Smalltalk。

在Smalltalk中所有的东西都是对象,或者应该被当作对象处理。例如下面的表达式:

2 + 3.

应当被理解为:向对象2发送消息+,参数为对象3。

纯面向对象使得Smalltalk在语言结构方面有许多与其他语言不同的特点,例如在Smalltalk语言中没有条件语句,取而代之的是一些发送给对象true或者false的消息,因此它们不属于语言部分,而属于Smalltalk的类库;也没有循环重复语句(C语言中的for, while),Smalltalk用向数字对象或块对象发送消息来实现重复执行。

最早的Smalltalk原型由艾伦·凯于70年代初提出。类(来自Simula-67)、海龟绘图(来自MIT的LOGO)以及图形界面等概念的有机组合,构成了Smalltalk的最初的蓝图。

在1971年到1975年之间,艾伦·凯在Xerox PARC的小组设计并实现了第一个真正的Smalltalk语言系统,编译器由Dan Ingalls负责主要实现。这个系统具有以下几个技术创新:

开发环境的革新相当迅速。虽然当时的位图显示器十分昂贵,但是艾伦·凯却说服了PARC让他使用这些位图显示器,这使得艾伦·凯和他的小组能够实现不同大小和字体的文字,使用多窗口环境,以及一些对图像处理的高端支持。

1975-76年间,艾伦·凯小组认识到应当对执行效率和规模进行优化。于是他们在许多重要方面重新设计了Smalltalk系统,在语言上:

前述的所有Smalltalk系统都是在特殊的硬件上实现的,直到1977-78年,Bruce Horn和Ted Kaehler把Smalltalk-76移植到由Intel 8086处理器和自定显示器所组成的硬件环境(被称为NoteTaker)上。虽然这种硬件环境只生产了10台,但是它证明了在通常的处理器上实现Smalltalk的可能性。

在1979-80年,部分受NoteTaker项目的影响,Smalltalk小组的注意力转移到Smalltalk的销售可行性上。小组设计并实现了新一代的Smalltalk系统,这次修改的目标着重于在标准硬件上的移植性等方面,包括:

(15 * 19) + (37 squared)

可以理解为:向15发送消息'*',参数为19;向37发送消息squared;最后向15*19的结果发送消息'+',参数为37 squared的结果。

相关

  • 爱迪生托马斯·阿尔瓦·爱迪生(英语:Thomas Alva Edison,1847年2月11日-1931年10月18日),科学家、发明家、企业家、工程师,拥有众多重要的发明专利,被传媒授予“门洛帕克的奇才”称号的他,
  • 食物安全五要点食物安全五要点(英文:Five keys to safer food manual)是世界卫生组织提倡的有关食品安全的要注意的五个要点。 包括了保持清洁(keep clean),生熟分开(separate raw and cooked),煮熟
  • 海军陆战队使馆警卫队海军陆战队使馆警卫队(英语:Marine Corps Embassy Security Group),前称海军陆战队卫兵营(Marine Security Guard Battalion),是美国海军陆战队一支营级的部队,负责美国驻外大使馆、
  • 平等主义者平等主义者是起源于蒙昧时代的个体符号名称,以实现平等为最大理想及唯一目标,包括所有生命持有物的平等。平等主义者的思想来源于自然赋予,不是一种被创造,而是自然的一种核心本
  • 约翰·伦哈德·罗斯特约翰·伦哈德·罗斯特(Johann Leonhard Rost,1688年8月14日-1727年3月22日),是一位德国纽伦堡天文学家暨作家,曾以“Meletaon”的笔名发表过多部小说。月球上的罗斯特陨石坑就是以
  • 哈尔特征哈尔特征(英语:Haar-like features)是用于物体识别的一种数字图像特征。它们因为与哈尔小波转换极为相似而得名,是第一种即时的人脸检测运算。历史上,直接使用图像的强度(就是图像
  • 龚舍龚舍(前60年-7年),字君倩,西汉楚国武原县(今江苏省邳州市西北)人,和龚胜并称于时。汉成帝时任谏大夫,任官不久即病免。后来再征召为博士,又因病去官。汉哀帝时,派人到楚国任命龚舍为泰
  • 暮年困境《暮年困境》(The Beginning of Time)是墨西哥导演Bernardo Arellano执导的一部老年人题材的电影,获得第五届北京国际电影节最佳影片奖。一对90岁的老夫妇很早就被儿子抛弃,年迈
  • 德拉戈米尔·科尔德尔德拉戈米尔·科尔德尔(捷克语:Drahomír Kolder,1925年12月29日-1972年8月20日),捷克斯洛伐克共产党领导人之一,安东宁·诺沃提尼的追随者。。
  • 达尔文翼龙属达尔文翼龙属(学名:)是翼龙目悟空翼龙科的一属,生存于侏罗纪晚期的中国。达尔文翼龙同时带有早期喙嘴翼龙类、后期翼手龙类的混合特征,有助于了解翼龙类演化发展的遗失环节。另外