Smalltalk

✍ dations ◷ 2025-07-03 14:31:15 #面向对象的编程语言,基于类的编程语言,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的结果。

相关

  • 三星中将中将是许多国家军队中的职衔,介于少将和上将之间。这个职衔的来源可追溯至中世纪中,在战场上接受上将的命令,再传达下去的那个人。中文里的中将一词是来自于日本军制,日本军制中
  • 东尼·艾瓦雷兹东尼(Antonio Enrique Alvarez,1979年5月10日-,生于委内瑞拉米兰达),委内瑞拉棒球选手,曾效力于兄弟象队。东尼两年大联盟经历共出赛38场,敲出16支安打(2支本垒打)留下2成50打击率。九
  • 阿修罗 (漫画)阿修罗(アシュラ),是乔治秋山于1970年8月2日连载于讲谈社旗下漫画杂志《周刊少年Magazine》上的作品。由其原作改编的动画电影于2012年9月29日在日本上映。由于作品中有对天灾
  • 卡里克弗格斯坐标:54°42′58″N 5°48′32″W / 54.716°N 5.809°W / 54.716; -5.809卡里克弗格斯 (英语:Carrickfergus,当地人多称“卡里克”英语:Carrick”)是北爱尔兰安特里姆郡的一座大
  • 木子 木子(1989年1月9日-),女,辽宁抚顺人,中国乒乓球运动员,右手横板反手生胶弧圈结合快攻打法。木子从小放弃学业到北京练习乒乓球,后加入八一女子乒乓球队。木子双打能力比较出色,曾于
  • 约翰·伯奇约翰·伯奇(英语:John Burgee,1933年8月28日-)是一位美国后现代主义建筑设计师。伯奇在1967年到1991年与另一位著名的美国建筑师菲力普·强生合作,共同创立强生/伯奇建筑设计事务
  • 新井耕吉郎新井耕吉郎(あらい·こうきちろう、Arai·Kokichiro,1904年2月6日-1947年6月19日),日本群马县利根郡东村(现沼田市利根町)人,毕业于日本北海道帝国大学农学部。在日治时期来台湾服务
  • 绍兴轨道交通绍兴轨道交通是中国浙江省绍兴市运营和建设中的城市轨道交通系统,包含地铁和市域铁路,其首条地铁线路预计于2021年开通运营,首条市域铁路绍兴风情旅游新干线(已并入绍兴至宁波城
  • 松本菜奈实松本菜奈实(日语:松本 菜奈実、1994年8月23日 - )是日本的AV女优及前写真偶像,マインズ(日语:マインズ (芸能事務所))旗下所属。
  • 高等Rapper《高等Rapper》(韩语:고등래퍼)是韩国Mnet频道自2017年2月10日至同年3月31日播出的韩国高中生Rapper选秀节目。节目是由《Show Me The Money》的制作团队继《Show Me The Money