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:

  http://www.whysmalltalk.com/

Also consult the newsgroup comp.lang.smalltalk.

This is document aeya in the Knowledge Base.
Last modified on 2008-10-30 00:00:00.

  • Fill out this form to submit your issue to the UITS Support Center.
  • Please note that you must be affiliated with Indiana University to receive support.
  • All fields are required.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.

  • Fill out this form to submit your comment to the IU Knowledge Base.
  • If you are affiliated with Indiana University and need help with a computing problem, please use the I need help with a computing problem section above, or contact your campus Support Center.

Please provide your IU email address. If you currently have a problem receiving email at your IU account, enter an alternate email address.