The Self-4.0 User Interface: Manifesting a System-wide Vision of Concreteness, Uniformity, and Flexibility¶
Randall B. Smith, John Maloney, and David Ungar
Manipulating programs is hard, while manipulating objects in the physical world is often easy. Several attributes of the physical world make it comprehensible and manipulable: concreteness, uniformity, and flexibility. The Self programming system attempts to apply these attributes to the world within the computer. The semantics of the language, the efficiency and fidelity of its implementation, and the architecture of its user interface conspire to make the experience of constructing programs in Self immediate and tangible. We describe the mechanisms used to achieve this goal, and illustrate those mechanisms within the context of an extended programming task.
In OOPSLA ‘95 Conference Proceedings, Austin, Texas, October, 1995. pp 47-60.