Smalltalk

✍ dations ◷ 2025-04-26 22:17:38 #面向对象的编程语言,基于类的编程语言,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的结果。

相关

  • 氢原子氢原子是氢元素的原子。电中性的原子含有一个正价的质子与一个负价的电子,被库仑定律束缚于原子核内。在大自然中,氢原子是丰度最高的同位素,称为氢,氢-1 ,或氕。氢原子不含任何
  • 虫笼的卡伽斯特尔《虫笼的卡伽斯特尔》(日语:虫籠のカガステル)是日本漫画家桥本花鸟创作的日本漫画作品。2005年9月14日于作者个人网站“チキンの魂”以桥本チキン为笔名进行创作,2013年4月26日
  • 福井俊彦福井俊彦(1935年9月7日-),日本经济学家、银行家。一般财团法人佳能全球战略研究所理事长。历任日本银行副总裁、株式会社富士通总研理事长、社团法人经济同友会副代表干事、第29
  • 卡蒂雅·布尼亚季什维利卡蒂雅·布尼亚季什维利(格鲁吉亚语:ხატია ბუნიათიშვილი,国际音标:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe
  • 华秋华秋�(1785年-1859年),名文彬,字伯雅,别号借云馆主人,清代篆刻师傅、音乐家,江苏无锡人。其整理的《琵琶谱》是中国第一部正式出版的琵琶曲集。华秋�是江苏省无锡县荡口镇人,生于清乾隆
  • 光致变色光致变色是指通过吸收电磁辐射使化学物质在两种形式之间进行可逆的转化,且两种形式具有不同的吸收光谱。 通常,这可以描述为暴露于光线时颜色的可逆变化。 光致变色不具有
  • 塞巴斯蒂安·肖塞巴斯蒂安·刘易斯·肖(英语:Sebastian Lewis Shaw,1905年5月29日-1994年12月23日)是英格兰演员、戏剧导演、小说家、剧作家和诗人,前后65年间曾出演数十部舞台剧和四十余部影视
  • 西拉差·坚他文西拉差·坚他文(泰语:ศิรชัช เจียรถาวร,英语:Sirachuch Chienthaworn,1992年5月5日-)是泰国一名活跃在电影和电视剧的男演员,因出演《鬼宿舍》和《荷尔蒙》而获得知
  • 弹珠台弹珠台(英语:Pinball)是由雷蒙·莫洛尼于公元1934年所发明,是一种投币式街机,利用金属球与机械进行游戏。后来也演变成为了一种电脑游戏。最早期的弹珠台通常是一个矩形的木制框
  • 虞初志《虞初志》,中国古代小说集,凡8卷,署为《陆氏虞初志》。虞初是指汉朝小说家,此书以为名。虞初志收录有南朝吴均《续齐谐记》17篇(均收录于第1卷)和“唐人小说”29篇;“唐人小说”29