An overview of the programming language Smalltalk-72
John F. Shoch · ACM SIGPLAN Notices · 1979
Smalltalk is a programming language designed around a single metaphor-- that similar objects ca n be grouped into more general classes. Starting with a conceptually elegant and consisten t epistemology, it has been possible to construct a language with powerful semantic capabilities, whil e retaining a simple syntactic representation. The language development itself is but one part of a broader effort to explore the ways in whic h people can manipulate information and communicate with machines. It is one tool utilized in the construction of an interactive computer system, used by both children and adults for proble m solving, simulation, drawing and painting, real time generation of music, information retrieval, an d other tasks. (For more information about this work, see [Kay 1977], [Kay and Goldberg 1977] an d [Ingalls 1978].) The flexibility of the programming language has made it possible for users of that system-- rangin g from young children to experienced programmers-- to modify existing facilities, or create tools t o meet their own needs. Thus, the underlying ideas in the language had to be sufficiently powerfu l for the expert user, but also easy for a child to learn. 2. The Basic Characteristics of Smalltal k The principle abstractions which define Smalltalk can be presented very simply: