ARCHIVED: What is Smalltalk?

This content has been archived, and is no longer maintained by Indiana University. Information here may no longer be accurate, and links may no longer be available or reliable.

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:

  http://www.whysmalltalk.com/

Also consult the newsgroup comp.lang.smalltalk.

This is document aeya in the Knowledge Base.
Last modified on 2023-09-22 16:50:35.