Results 1 -
3 of
3
SELF: The power of simplicity
, 1987
"... Abstract. SELF is an object-oriented language for exploratory programming based on a small number of simple and concrete ideas: prototypes, slots, and behavior. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languag ..."
Abstract
-
Cited by 520 (16 self)
- Add to MetaCart
Abstract. SELF is an object-oriented language for exploratory programming based on a small number of simple and concrete ideas: prototypes, slots, and behavior. Prototypes combine inheritance and instantiation to provide a framework that is simpler and more flexible than most object-oriented languages. Slots unite variables and procedures into a single construct. This permits the inheritance hierarchy to take over the function of lexical scoping in conventional languages. Finally, because SELF does not distinguish state from behavior, it narrows the gaps between ordinary objects, procedures, and closures. SELF’s simplicity and expressiveness offer new insights into objectoriented computation. To thine own self be true. —William Shakespeare 1
Cooperative Prototyping - Users and designers in mutual activity
"... This paper will present a detailed analysis of an example of application of the approach - design of computer support for casework in a technical department of a local government, where urban planning and environmental control of companies are central work tasks. The analysis starts out from the mut ..."
Abstract
-
Cited by 15 (1 self)
- Add to MetaCart
This paper will present a detailed analysis of an example of application of the approach - design of computer support for casework in a technical department of a local government, where urban planning and environmental control of companies are central work tasks. The analysis starts out from the mutual object of design: the work processes of the prospective users. We look at design as a learning process and analyze various situations where openings for learning occur in the prototyping activity. These situations seem to fall into three categories: the first is situations where the future work situation is simulated and the conditions of the future work activity investigated, in particular the role of the computer application. The second is where the prototype is used as a basis for discussion and articulation of problems with the current work practice, and goals of the future one. The third kind of situations are situations where the design situation as such becomes the focus. Based on
Midgard - A Dynamic Programming Environment Supporting Exploratory Programming Based on Extensibility
, 1998
"... Midgard is a design and prototype of an incremental program development environment, where part of the development of a program is carried out in the context of an execution of the program itself. Midgard is based on dynamic extensibility supported by a dynamic compiler and an incremental linker. Th ..."
Abstract
- Add to MetaCart
Midgard is a design and prototype of an incremental program development environment, where part of the development of a program is carried out in the context of an execution of the program itself. Midgard is based on dynamic extensibility supported by a dynamic compiler and an incremental linker. The goal of Midgard is to provide better support for exploratory programming by enabling the developer to experiment with different designs and solutions while maintaining a low turn--around time during most of the development. A prototype implementation for the block structured statically checked object--oriented programming language BETA is presented and the underlying techniques for compilation and linking are described. The prototype has the traditional benefits of static checking and gains some of the flexibility associated with exploratory programming environments. Furthermore the techniques used for dynamic compilation and incremental linking are relatively simple compared to other syst...

