Self

Self语言,是一种基于原型的面向对象程序设计语言,于1986年由施乐帕洛阿尔托研究中心的David Ungar和Randy Smith给出了最初的设计。

基本特点

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

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

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

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