Smalltalk

✍ dations ◷ 2025-12-10 01:31:18 #面向对象的编程语言,基于类的编程语言,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的结果。

相关

  • 詹姆斯·德怀特·丹纳詹姆斯·德怀特·丹纳(英语:James Dwight Dana,1813年2月12日-1895年4月14日),美国地质学,矿物学和动物学家,曾在南太平洋、美国西北部和欧洲等地考察研究,主要研究山脉的形成、火山
  • 卫满朝鲜卫满朝鲜(朝鲜语:위만조선/衛滿朝鮮 Wiman joseon;前195年—前108年),又称卫氏朝鲜(朝鲜语:위씨조선/衛氏朝鮮 Wissi joseon),是一个由燕人卫满建立的古朝鲜政权。君主 · 首都 ·
  • 鬼镇鬼镇(英语:Ghost town),又称鬼城,是指一整个因为经济、环境种种因素,而被荒废、放弃居住的城镇。在美国西部与西伯利亚存在许多鬼城。中文有“废墟”一词相当接近鬼城的说法,但废墟
  • 欧盟关税同盟本文是 欧洲联盟的政治与政府 系列条目之一欧盟关税同盟(英语:European Union Customs Union (EUCU),法语:Union douanière de l'Union européenne,德语:Europäische Zollunion
  • 圣阿加塔德戈蒂圣阿加塔德戈蒂(意大利语:Sant'Agata de' Goti),是意大利贝内文托省的一个市镇。总面积62.92平方公里,人口11452人,人口密度182.0人/平方公里(2009年)。ISTAT代码为062070。
  • 日本史时代划分表日本史时代划分表显示出日本历史上各时代的联系,方便横向和纵向多方位的比较和研究。
  • 揖斐藩揖斐藩(日语:揖斐藩/いびはん  */?)是日本江户时代的一个藩。位于美浓国揖斐郡(今岐阜县揖斐郡),藩祖是西尾光教,家格属于外样大名。藩祖西尾光教因为在关原之战中加入东军在美浓
  • 守夜人系列《巡者系列》(俄语:Вселенная «Дозоров»;中国大陆称作《守夜人系列》)是由哈萨克裔俄罗斯籍作家谢尔盖·卢基扬年科(俄语:Сергей Лукьяненко,英
  • 飞毛腿冈萨雷斯 (电影)飞毛腿冈萨雷斯是1955年菲兹·菲尔勒与霍利·普拉特制作的一部短电影。墨西哥边境线上,一群面黄肌瘦的小老鼠对着奶酪工厂望眼欲穿,然而他们不能靠近,因为邪恶的傻大猫经常在附
  • 柯逢时柯逢时(1845年-1912年),字懋修,号逊庵、巽菴、巽庵、翼庵、钦臣,湖北省武昌府武昌县(今湖北省鄂城县)人,清朝政治人物、进士出身。同治九年,乡试中举;光绪九年,登进士,改庶吉士。光绪十二