=== Top of the Swiki === Attachments ===


Smalltalk-80 is the classic standard Smalltalk language as described in Smalltalk-80: The Language and Its Implementation by Goldberg and Robson. This book is commonly called "the Blue Book".

Squeak implements the dialect of Smalltalk described in this book, but has a different implementation.

Overview of the Smalltalk Language

Smalltalk is a general purpose, high level programming language. It was the first original "pure" object oriented language, but not the first to use the object oriented concept, which is credited to Simula 67.

The explosive growth of Object Oriented Programming (OOP) technologies began in the early 1980ís, with Smalltalk's introduction. Behind it was the idea that the individual human user should be the most important component of any computing system, and that programming should be a natural extension of thinking, and also a dynamic and evolutionary process consistent with the model of human learning activity.

In Smalltalk, these ideas are embodied in a framework for human-computer communication. In a sense, Smalltalk is yet another language like C and Pascal, and programs can be written in Smalltalk that have the look and feel of such conventional languages. The difference lies in the amount of code that can be reduced, less cryptic syntax, and code that is easier to handle for application maintenance and enhancement. But Smalltalk's most powerful feature is easy code reuse. Smalltalk makes reuse of programs, routines, and subroutines (methods) far easier. Though procedural languages allow reuse too, it is harder to do, and much easier to cheat.

It is no surprise that Smalltalk is relatively easy to learn, mainly due to its simple syntax and semantics, as well as few concepts. Objects, classes, messages, and methods form the basis of programming in Smalltalk. In general, the methodology to use Smalltalk consists of four steps:

  1. Identify objects that appear in the problem and in its solution.
  2. Classify these objects based on their differences and similarities.
  3. Design the messages that will constitute the language of interaction between the objects.
  4. Implement the methods by means of algorithms that carry out the interaction among objects.

The notion of human-computer interface also results in Smalltalk promoting the development of safer systems. Errors in Smalltalk may be viewed as objects telling users that confusion exists as to how to perform a desired function.