族谱网 头条 人物百科

Self

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:618
转发:0
评论:0
基本特点Self语言把概念上的精简作为设计原则。它取消了类的概念,只有对象的概念,同时把消息作为最基本的操作。把对象的属性理解为获取或更改属性这两种方法,从而把属性的概念简化为方法;取消了变量和赋值,并以通过消息来读槽和写槽的方式代之。Self语言是在Smalltalk的基础上发展而来,沿用了Smalltalk中一切都是对象的风格。Self同Smalltalk一样既是一个编程语言,也是一个集成开发环境和运行环境。Self也拥有一个图形用户界面Morphic,Self的编程环境也是基于Morphic来实现的。Self在精简语言概念的同时也把大量的工作转交给环境来处理。如可见性(visibility),模块与代码的管理都是由环境来处理的,语言中的反馈机制(reflection)也同环境密切相关。在发展Self的过程中,Self的设计研究人员也探索了Self的程序设计。他们提出了traits的概...

基本特点

Self语言把概念上的精简作为设计原则。它取消了类的概念,只有对象的概念,同时把消息作为最基本的操作。把对象的属性理解为获取或更改属性这两种方法,从而把属性的概念简化为方法;取消了变量和赋值,并以通过消息来读槽和写槽的方式代之。

Self语言是在Smalltalk的基础上发展而来,沿用了Smalltalk中一切都是对象的风格。Self同Smalltalk一样既是一个编程语言,也是一个集成开发环境和运行环境。Self也拥有一个图形用户界面Morphic,Self的编程环境也是基于Morphic来实现的。Self在精简语言概念的同时也把大量的工作转交给环境来处理。如可见性(visibility),模块与代码的管理都是由环境来处理的,语言中的反馈机制(reflection)也同环境密切相关。

在发展Self的过程中,Self的设计研究人员也探索了Self的程序设计。他们提出了traits的概念,用对象实现了名字(对象名或方法名)的管理,用动态继承实现模式转换。

在实现Self系统的过程中,设计研究人员发展出了一种动态自适应编译技术。这种技术的采用提高了Self代码的执行效率。

Self系统

尽管Self系统一次运行在一个进程中,但Self系统实际上可以分成两个部分:Self虚拟机和Self世界(Self world)。Self世界是一个Self对象库,Self 程序就是Self世界里的对象,Self虚拟机用来执行这些Self程序。Self虚拟机还提供了一些可供调用的原语,用来实现算术运算、对象复制、输入输出等。

当Self程序从终端、文件或者图形用户界面输入到系统中来时,Self系统把源程序解析转化为Self对象。Self对象包括数据对象和方法对象,方法对象的代码部分是用一种指令非常简单的字节码(bytecode)表示的,字节码由虚拟机来解释。对经常执行的方法,虚拟机将进一步把字节码转化为本机代码,这样可以提高运行效率。

发展简史

Self语言的最初设计是由David Ungar和Randy Smith于1986年在施乐帕洛阿托研究中心提出的,并在1987年的OOPSLA"87的论文SELF: The Power of Simplicity上给出了描述。

1987年初Craig Chambers, Elgin Lee和Martin Rinard在Smalltalk上给出了Self的第一个实验性解释器。

1987年夏Self项目在Stanford大学正式开始,1988年夏给出了第一个有效率的实现,并发布了1.0和1.1两个版本。在第一个版本中包括内存管理系统和编译器。

1991年初Self项目移至Sun Microsystems Laboratories Inc.,并且在1992年发布了2.0版。在第二个版本中采用了新的编译技术,并引入了多重继承。

1993年1月Self 3.0版发布。在这个版本中包括了一个实验性的图形用户界面,简化了上个版本中多重继承的设计,引入了可见性概念,并采用了更新的编译技术。

1995年7月Self 4.0版发布。在这个版本中包括了一个全新的图形用户环境Morphic,提供了工具transporter用于保存对象,改进了虚拟机,改善了内存管理,在环境的层次上引入了模块的概念,取消了语言层次上的可见性概念。

1995年之后Self的发展基本已经停滞,但在发展Self过程中探索出的一些技术在别的系统中得到了应用。在Self的实现中采用的各种编译优化技术直接导致了Java Hotspot虚拟机的产生;在Smalltalk的一个实现Squeak中采用了Self图形用户界面Morphic的设计方案,放弃了标准Smalltalk中采用的MVC的方案。

站外链接

Self主页


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
扫一扫添加客服微信