Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
The Trillium user interface design environment
CHI '86 Proceedings of the SIGCHI Conference on Human Factors in Computing Systems
Constraint-based tools for building user interfaces
ACM Transactions on Graphics (TOG) - Special issue on user interface software
Experiences with the alternate reality kit: an example of the tension between literalism and magic
CHI '87 Proceedings of the SIGCHI/GI Conference on Human Factors in Computing Systems and Graphics Interface
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Building user interfaces by direct manipulation
UIST '88 Proceedings of the 1st annual ACM SIGGRAPH symposium on User Interface Software
The NeXT book
SUIT: the Pascal of user interface toolkits
UIST '91 Proceedings of the 4th annual ACM symposium on User interface software and technology
The use-mention perspective on programming for the interface
Languages for developing user interfaces
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Debugging optimized code with dynamic deoptimization
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Object-oriented programming with prototypes
Object-oriented programming with prototypes
Prototype-based languages (panel): object lessons from class-free programming
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
A third-generation SELF implementation: reconciling responsiveness with performance
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
Visual object-oriented programming
Reno: a component-based user interface
CHI '95 Conference Companion on Human Factors in Computing Systems
Directness and liveness in the morphic user interface construction environment
Proceedings of the 8th annual ACM symposium on User interface and software technology
Annotating objects for transport to other worlds
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
Proceedings of the 9th annual ACM symposium on User interface software and technology
Query-based debugging of object-oriented programs
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Supporting flexible roles in a shared space
CSCW '98 Proceedings of the 1998 ACM conference on Computer supported cooperative work
Nested user interface components
Proceedings of the 12th annual ACM symposium on User interface software and technology
Using properties for uniform interaction in the Presto document system
Proceedings of the 12th annual ACM symposium on User interface software and technology
A programming model for active documents
UIST '00 Proceedings of the 13th annual ACM symposium on User interface software and technology
Naked objects: a technique for designing more expressive systems
ACM SIGPLAN Notices
An overview of a dynamic programming environment based on extensibility
Nordic Journal of Computing
Programming as an Experience: The Inspiration for Self
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Visualising Objects: Abstraction, Encapsulation, Aliasing, and Ownership
Revised Lectures on Software Visualization, International Seminar
The parks PDA: a handheld device for theme park guests in squeak
OOPSLA '03 Companion of the 18th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Toolkit Design for Interactive Structured Graphics
IEEE Transactions on Software Engineering
Subtext: uncovering the simplicity of programming
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Proceedings of the third ACM SIGPLAN conference on History of programming languages
Aspect-Based Tagging for Collaborative Media Organization
From Web to Social Web: Discovering and Deploying User and Content Profiles
Radial scrolling revisited
Supporting multidisciplinary software composition for interactive applications
SC'08 Proceedings of the 7th international conference on Software composition
Code canvas: zooming towards better development environments
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Multi-platform document-oriented GUIs
AUIC '09 Proceedings of the Tenth Australasian Conference on User Interfaces - Volume 93
An open implementation for context-oriented layer composition in ContextJS
Science of Computer Programming
Hi-index | 0.00 |
Manipulating programs is hard, while manipulating objects in the physical world is often easy. Several attributes of the physical world help 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.