Smalltalk

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

相关

  • 斑马细纹斑马亚属 Dolichohippus斑马是斑马亚属(学名:Hippotigris)和细纹斑马亚属(学名:Dolichohippus)的通称,是一类常见于非洲的马科动物。斑马身上有许多的条纹,每只的条纹都不一样。
  • 橄榄球类运动橄榄球类运动,亦称橄榄足球或直接音译为拉格比足球(Rugby Football),其英语原义仅指由英格兰拉格比学校直接发展出来的橄榄球(又称联合式橄榄球,Rugby Union)与其直接分支-联盟式橄
  • 尤利乌斯·埃佛拉朱利奥·切萨雷·安德烈·埃佛拉男爵(Barone Giulio Cesare Andrea Evola,1898年5月19日-1974年6月11日),笔名尤利乌斯·埃佛拉(Julius Evola),是意大利哲学家、隐微论(esotericism)者
  • 米哈伊尔·格罗莫夫米哈伊尔·列昂尼多维奇·格罗莫夫(俄语:Михаил Леонидович Громов,法语:Mikhaïl Leonidovitch Gromov,1943年12月23日-),生于博克西托戈尔斯克的俄罗斯数学
  • SPDR标准普尔500指数ETFSPDR标准普尔500指数ETF(英语:SPDR S&P 500 ETF)(NYSE:SPY、东证1部:1557、SGX:S27),现时由美国道富环球管理基金,其实是根据美国标准普尔500指数走势作标准。其股份分别自纽约证券交
  • 富尔克森奖富尔克森奖是国际数学优化学会(英语:Mathematical Optimization Society)和美国数学学会联合设立的奖项,专门奖励离散数学领域的杰出论文。在国际数学优化学会每三年召开一次的
  • 铃木和裕铃木和裕(1976年11月16日-),前日本职业足球员,日本20岁以下足球代表队成员。1995年,铃木和裕在市原JEF联开始足球生涯。2001年转会至京都不死鸟,2007年转会至水户蜀葵。2009年,引退
  • 苻宣苻宣,中国五胡十六国时代人物,前秦末代皇帝苻崇的儿子。394年,苻崇即位为皇帝,封苻宣为太子。苻崇败亡于西秦。苻宣依靠仇池杨盛。396年,杨盛归附东晋,向晋安帝推荐苻宣为平北将军
  • 葛佶葛佶(1929年3月-),浙江平湖人,中国非洲研究专家,中国社会科学院西亚非洲研究所研究员,中国社会科学院荣誉学部委员。1952年毕业于金陵女子大学外文系。
  • 鲨卷风6《鲨卷风6》(英语:)是一部2018年美国灾难电视电影,由安东尼·费兰提(英语:Anthony C. Ferrante)执导。本片为2017年电视电影《鲨卷风5:密集全球》的续集与“鲨卷风系列电影”的第六