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.
- 1 Alan H. Borning and Daniel H. H. Ingalls. A type declaration and inference system for Smalltalk. Proceedings of the Ninth Annual ACM Symposium on Principles of Programming Languages (Albuquerque), pages 133-142. January 1982. Google ScholarDigital Library
- 2 M. F. Cowlishaw. The design of the REXX language. IBM Systems Journal23(4): 326-335, 1984.Google Scholar
- 3 Gael Curry, Larry Baer, Daniel Lipkie, and Bruce Lee. Traits: An approach to multiple-inheritance subclassing. Proceedings of the SIGOA Conference on Office Information Systems (Philadelphia), pages 1-9. June 1982. Google ScholarDigital Library
- 4 Gael A. Curry and Robert M. Ayers. Experience with Traits in the Xerox Star Workstation. IEEE Transactions on Software EngineeringSE-10 (5): 519-527, September 1984.Google Scholar
- 5 O.-J. Dahl, E. W. Dijkstra, and C. A. R. Hoare. Structured Programming. A.P.I.C. Studies in Data Processing, volume 8, pages 175-220. Academic Press, 1972. Google ScholarDigital Library
- 6 Adele Goldberg. Introducing the Smalltalk-80 system. Byte6(8): 14-26, August 1981. This issue of Byte is devoted entirely to Smalltalk.Google Scholar
- 7 Adele Goldberg and David Robson. Smalltalk-80: The Language and its Implementation. Addison-Wesley, 1983. Google ScholarDigital Library
- 8 Adele Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley, 1984. Google ScholarDigital Library
- 9 International Business Machines Corporation. VM/SP System Product Interpreter User's Guide, SC24-5238. IBM Corporation, 1983.Google Scholar
- 10 International Business Machines Corporation. VM/SP Product Interpreter Reference, SC24-5239. IBM Corporation, 1983.Google Scholar
- 11 Glenn Krasner. Smalltalk-80: Bits of History, Words of Advice. Addison-Wesley, 1983. Google ScholarDigital Library
- 12 Mark R. Laff. Smallworld - An Object-Based Programming System. IBM Research Report RC 9022, Yorktown Heights, September 1981.Google Scholar
- 13 Mark R. Laff. GVX: Global Variables with REXX. In preparation, 1983.Google Scholar
- 14 Tim Rentsch. Object oriented programming. SIGPLAN Notices17(9): 51-57, September 1982. Google ScholarDigital Library
- 15 David Robson. Object-oriented software systems. Byte6(8): 74-86, August 1981.Google Scholar
- 16 Erik Sandewall. Unified dialogue management in the carousel system. Proceedings of the Ninth Annual ACM Symposium on Principles of Programming Languages (Albuquerque), pages 146-156. January 1982. Google ScholarDigital Library
Index Terms
- SW 2 - An object-based programming environment
Recommendations
SW 2 - An object-based programming environment
SLIPE '85: Proceedings of the ACM SIGPLAN 85 symposium on Language issues in programming environmentsProgramming 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 ...
What Is Object-Oriented Programming?
The meaning of the term 'object oriented' is examined in the context of the general-purpose programming language C++. This choice is made partly to introduce C++ and partly because C++ is one of the few languages that supports data abstraction, object-...
Constraint-Based Object-Oriented Programming
Constraint programming (CP) is a young but rapidly developing technology that supports the modeling and solution of a wide range of planning, scheduling, search, and optimization problems. The integration of CP concepts into languages from other ...
Comments