Smalltalk


Smalltalk

(language)The pioneering object-oriented programming systemdeveloped in 1972 by the Software Concepts Group, led by Alan Kay, at Xerox PARC between 1971 and 1983. It includes alanguage, a programming environment, and an extensive objectlibrary.

Smalltalk took the concepts of class and message fromSimula-67 and made them all-pervasive. Innovations includedthe bitmap display, windowing system, and use of a mouse.

The syntax is very simple. The fundamental construction isto 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 themessage name.

Five pseudo-variables are defined: "self", "super", "nil","true", "false". "self" is the receiver of the currentmessage. "super" is used to delegate processing of a messageto the superclass of the receiver. "nil" is a reference to"nothing" (an instance of UndefinedObject). All variablesinitially contain a reference to nil. "true" and "false" areBooleans.

In Smalltalk, any message can be sent to any object. Therecipient object itself decides (based on the message name,also called the "message selector") how to respond to themessage. Because of that, the multiple inheritance systemincluded in the early versions of Smalltalk-80 appeared to beunused in practice. All modern implementations have singleinheritance, so each class can have at most one superclass.

Early implementations were interpreted but all modern onesuse dynamic translation (JIT).

Early versions were Smalltalk-72, Smalltalk-74, Smalltalk-76(inheritance taken from Simula, and concurrency), andSmalltalk-78, Smalltalk-80. Other versions include Little Smalltalk, Smalltalk/V, Kamin's interpreters. Currentversions are VisualWorks, Squeak, VisualAge, Dolphin Smalltalk, Object Studio, GNU Smalltalk.

See also: International Smalltalk Association.

UIUC Smalltalk archive.FAQ.

Usenet newsgroup: news:comp.lang.smalltalk.

["The Smalltalk-76 Programming System Design andImplementation", D.H. Ingalls, 5th POPL, ACM 1978, pp. 9-16].

Smalltalk

An operating system and object-oriented programming language that was developed at Xerox PARC. As an integrated environment, it eliminates the distinction between programming language and operating system. It also allows its user interface and behavior to be customized.

Smalltalk was the first object-oriented programming language to become popular. It was originally used to create prototypes of simpler programming languages and the graphical interfaces that are so popular today. Smalltalk was first run on Xerox's Alto computer, which was designed for it. In 1980, Smalltalk-80 was licensed to Tektronix, Apple, HP and TI for internal use. The first commercial release of Smalltalk was Methods from Digitalk in 1983, which later evolved into Visual Smalltalk. In 1997, Smalltalk became an ANSI standard (X3J20). See VisualWorks, Visual Smalltalk, VisualAge and Alto.