Smalltalk

✍ dations ◷ 2025-09-13 22:41:37 #面向对象的编程语言,基于类的编程语言,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的结果。

相关

  • 神诞神诞是指神佛的生日,也包括神佛的显灵日、得道日之类的日子。日本把这些日子称为缘日,是与神佛有缘之日,如神佛的诞生、显灵、誓愿等选定有缘的日子,亦是进行祭祀及奉养的日。信
  • 阿猴坐标:22°39′N 120°29′E / 22.650°N 120.483°E / 22.650; 120.483屏东市(台湾话:.mw-parser-output .sans-serif{font-family:-apple-system,BlinkMacSystemFont,"Segoe U
  • 尤袤尤袤(1127年3月28日-1194年),字延之,号遂初居士,晚年号乐溪、木石老逸民,无锡(今江苏)人,南宋诗词四大家之一。绍兴十八年(1148年)考取进士,官拜太常少卿,权充礼部侍郎兼修国史,又曾权中书
  • 地磁地磁场是源自于地球内部,并延伸到太空的磁场。磁场在地表上的强度在25-65微特斯拉(即0.25至0.65高斯)之间。粗略地说,地磁场是一个与地球自转轴呈11°夹角的磁偶极子,相当于在地球
  • 格拉肖谢尔登·李·格拉肖(英语:Sheldon Lee Glashow,1932年12月5日-),生于马萨诸塞州布鲁克莱恩,美国物理学家,1979年获诺贝尔物理学奖。1961年,格拉肖引入了短程的中性流(Z0粒子),推广了由施
  • 圣尤斯特歇斯圣尤斯特歇斯(荷兰语:Sint Eustatius),背风群岛一岛屿,原属荷属安的列斯,现为荷兰的特别市(公共实体),与同为荷兰特别市的博奈尔和萨巴合称为“BES群岛”。圣尤斯特歇斯岛位于加勒比
  • 无字小说无字小说是采用无字幕连环图片表述故事情节的叙事类型,又因作者创作时大多采用木刻及其他浮雕印刷术而得名木刻小说。这种叙事形式主要是在20世纪20至30年代兴起,并以德国最流
  • 朱敏 (语言学教授)朱敏(原名朱敏书,1926年4月18日-2009年4月13日),中国知名教授,四川省仪陇县人,祖籍广东韶关,北京师范大学外文学院教授,朱德与贺稚华的女儿。朱敏于1926年生于苏联莫斯科郊外,当时朱德
  • 纥干承基纥干承基(604年-656年),字嗣先,唐朝邺(在今河北省临漳县西南20公里处的漳河岸畔,安阳市中心18公里处)人,武德末年在北边打突厥,唐太宗太子李承乾的卫士。太子暗中豢养刺客纥干承基等人
  • 余三胜 余三胜(1802年-1866年),本名开龙,字启云,湖北罗田县人,为清中期重要的京剧演员,在清道光年间,与程长庚、张二奎齐名,被称为“老生三杰”、“三鼎甲”。余三胜早年出生于湖北的汉调