Introduction



Smalltalk is the definitive object-oriented programming language. A program in Smalltalk consists entirely of objects, and the concept of an integer constant 2 to a complex file-handling system, is an object. As objects, they are treated uniformly. They all have local memory, inherent processing ability, the capability to communicate with other objects, and the possibility of inheriting methods and instance variables from ancestors.

Messages can be parameterized with variables that reference objects. Replies to messages have the form of objects and are used to return requested information or to confirm that the requested service has been completed.

All Smalltalk objects are allocated from heap and are referenced through reference variables, which are implicitly dereferenced. There is no explicit deallocation statement of operation. All deallocation is implicit, using a garbage collection process for storage reclamation.

Unlike hybrid languages like C++ and Ada, Smalltalk was designed for just one software development paradigm, object oriented. Furthermore, it adopts none of the appearance of the imperative languages. Its purity of purpose is reflected in its simple elegance and uniformity of design

Smalltalk's environment is quite different for that used with most imperative languages. The Smalltalk system integrates a program editor, compiler, the usual features of an operating system, and a virtual machine into a single system. The interface to this system is the original graphical user interface.

One of the important aspects of the Smalltalk environment is that it is written almost entirely in Smalltalk, and the user can modify it to fit his or her particular needs. Therefore, the source version of the Smalltalk system must be available to a user.

Smalltalk is far more than just a programmming language; it is also a programming methodology and a programming environment.

Home