ARCHIVED: What is Smalltalk?

Created in the early 1970s by Alan Kay and others at Xerox's Palo Alto
Research Center (PARC), Smalltalk is an integrated programming
language, development tool, and runtime environment. Though it isn't
as well-known as C or COBOL, Smalltalk has
nevertheless had a tremendous influence on the evolution of computer
technology. It was one of the first object-oriented programming
languages. Elements of its graphical user interface, such as a mouse
and pop-up menus, were incorporated into Mac OS and
Windows.

Smalltalk is perhaps the purest example of object-oriented
programming. Everything in Smalltalk is an object, which is
essentially an independent chunk of code that manages a specific piece
of data. Other objects act upon that data by passing messages to its
object, and then processing the response. Objects do not have access
to each other by any other means. An object re-compiles every time it
is saved or executed and works with other objects as a program by
exchanging messages. There is thus no need for a linker in
Smalltalk. The advantage of this approach is that code is reusable
and easy to test, reducing the amount of work required of the
programmer.

As in Java, Smalltalk objects are compiled into
architecture-independent byte-code, which is then interpreted by the
runtime environment. This allows Smalltalk code to be portable to any
computer that runs a compatible version of Smalltalk.

ANSI has completed a standard for Smalltalk, and there are
several mostly compatible implementations available. Free versions
include Squeak and GNU Smalltalk. Commercial versions include
VisualAge for Smalltalk, Dolphin Smalltalk, and VisualWorks. For
more information, see: