Smalltalk
<language> The pioneering object-oriented programming system developed in
1972 by the Software Concepts Group, led by Alan Kay, at Xerox PARC between 1971
and 1983. It includes a language, a programming environment, and an extensive
object library.
Smalltalk took the concepts of class and message from Simula-67 and made them
all-pervasive. Innovations included the bitmap display, windowing system, and
use of a mouse.
The syntax is very simple. The fundamental construction is to send a message to
an object:
object message
or with extra parameters
object message: param1 secondArg: param2 .. nthArg: paramN
where "secondArg:" etc. are considered to be part of the message name.
Five pseudo-variables are defined: "self", "super", "nil", "true", "false".
"self" is the receiver of the current message. "super" is used to delegate
processing of a message to the superclass of the receiver. "nil" is a reference
to "nothing" (an instance of UndefinedObject). All variables initially contain a
reference to nil. "true" and "false" are Booleans.
In Smalltalk, any message can be sent to any object. The recipient object itself
decides (based on the message name, also called the "message selector") how to
respond to the message. Because of that, the multiple inheritance system
included in the early versions of Smalltalk-80 appeared to be unused in
practice. All modern implementations have single inheritance, so each class can
have at most one superclass.
Early implementations were interpreted but all modern ones use dynamic
translation (JIT).
Early versions were Smalltalk-72, Smalltalk-74, Smalltalk-76 (inheritance taken
from Simula, and concurrency), and Smalltalk-78, Smalltalk-80. Other versions
include Little Smalltalk, Smalltalk/V, Kamin's interpreters. Current versions
are VisualWorks, Squeak, VisualAge, Dolphin Smalltalk, Object Studio, GNU
Smalltalk.
See also: International Smalltalk Association.
UIUC Smalltalk archive.
FAQ.
Usenet newsgroup: comp.lang.smalltalk.
["The Smalltalk-76 Programming System Design and Implementation", D.H. Ingalls,
5th POPL, ACM 1978, pp. 9-16].
(2001-09-11)
Nearby terms:
Small Computer System Interface «
small-office/home-office « Small Outline DIMM «
Smalltalk » Smalltalk-80 » Smalltalk/V »
SmallVDM
|