Smalltalk

✍ dations ◷ 2025-11-19 00:48:33 #面向对象的编程语言,基于类的编程语言,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的结果。

相关

  • 荷尔-阿哈荷尔-阿哈(Hor-Aha),目前埃及学学者普遍认为他是古埃及第一王朝的第二位法老。荷尔-阿哈出生于公元前3100年。“荷尔”一名是埃及神话中隼神荷鲁斯的音译,而阿哈则有“战斗”、
  • 亲密姊妹《亲密姐妹》(日语:ディア♥シスター,英语:Dear, Sister),为日本富士电视台从2014年10月16日开始于周四剧场(JST 22:00 - 22:54)播出的连续剧,由石原聪美、松下奈绪主演。天真烂漫、
  • 大田县大田县,别称岩城,是福建省三明市下辖的一个县。大田县位于福建省中部的戴云山西侧,西邻永安市,东邻泉州市德化县,南与泉州的永春、龙岩的漳平接壤,北部毗邻三明市区、沙县和尤溪县
  • 芝山岩惠济宫坐标:25°06′11″N 121°31′51″E / 25.103060°N 121.530781°E / 25.103060; 121.530781芝山岩惠济宫,是位于台湾台北市士林区名山里、芝山岩上的庙宇,合并自祭拜观音的芝
  • 斯坦福·摩尔斯坦福·摩尔(Stanford Moore,1913年9月4日-1982年8月23日),美国生物化学家,1972年获诺贝尔化学奖。1901年:范托夫 |1902年:费歇尔 |1903年:阿伦尼乌斯 |1904年:拉姆齐 |1905年:拜尔 |1
  • 伊戈尔·晓戈列夫伊戈尔·奥列格维奇·晓戈列夫(俄语:Игорь Олегович Щёголев,1965年11月10日-),俄罗斯联邦政治人物。现任俄罗斯联邦总统驻中央联邦管区全权代表。1965年生于
  • 伊万·伊万诺维奇·科别茨伊万·伊万诺维奇·科别茨(俄语:Ива́н Ива́нович Ко́пец,1908年9月19日-1941年6月22日)苏联空军少将,苏德战争时期西线的指挥官。1941年苏德战争爆发,西部方面
  • 穷白人《穷白人》(英语:)是舍伍德·安德森所写的美国小说,于1920年出版。内容讲述一名发明家休·麦克维(Hugh McVey),在密西西比河岸的贫穷生活中成功的故事。小说展示出工业革命在美国农
  • 2007年亚洲职棒大赛2007年亚洲职棒大赛,是由KONAMI Digital Entertainment赞助,官方正式名称为第三届KONAMI Cup亚洲职棒大赛(KONAMI CUP Asia Series 2007)。比赛于2007年11月8日至11月11日于日本
  • 丁丁在美洲丁丁在美洲(法语:;英语:)是《丁丁历险记》的第三部作品。作者是比利时漫画家埃尔热。丁丁在美洲于1931年9月3日开始在比利时报刊二十世纪小伙伴上连载。1932年集结成册出版。1945