SW 2 - An Object-based Programming Environment
Abstract
Programming systems traditionally deal with only a few different types of data objects. Operating-system command languages, for example, are concerned with files and programs. Typical programming languages deal with computer-related objects such as integers, strings, arrays, and records. This is in sharp contrast to the variety of real-world objects that people reason about. Smallworld is a programming environment in which the real world is represented by objects that have properties. A property represents a fact about the corresponding real-world entity. Thus Smallworld actions (programs), which operate on objects specified in this simple but general way, are “smart”: they consider all of the relevant facts concerning (that is, all of the properties of) the objects they manipulate. Smallworld was strongly influenced by the design of Smalltalk, especially in the organization of objects into classes and superclasses. The two languages differ (1) in their treatment of the difference between classes and objects that are not classes and (2) in their definition of methods that act on classes. Smallworld minimizes the differences between classes and non-class objects, resulting in a simpler and more consistent system. Where Smalltalk is a programming language using a pure object-oriented paradigm and dependent on a powerful graphical interface, Smallworld is a shell language that runs on conventional terminals and allows multiple program paradigms where appropriate. © 1985, ACM. All rights reserved.