Smalltalk
Smalltalk is an object-oriented, dynamically typed reflective programming language.
Smalltalk environments were often the first to develop what are now common object-oriented software design patterns. One of the most popular is the model–view–controller (MVC) pattern for user interface design.
As in other object-oriented languages, the central concept in Smalltalk-80 is that of an object. An object is always an instance of a class. Classes are "blueprints" that describe the properties and behavior of their instances.
A Smalltalk object can do exactly three things:
- Hold state (references to other objects).
- Receive a message from itself or another object.
- In the course of processing a message, send messages to itself or another object.
(...) messaging is the most important concept in Smalltalk: "The big idea is 'messaging' (...) Smalltalk is a "pure" object-oriented programming language
The message is the most fundamental language construct in Smalltalk. Even control structures are implemented as message sends. Smalltalk adopts by default a synchronous, single dynamic message dispatch strategy (as contrasted to the asynchronous, multiple dispatch strategy adopted by some other object-oriented languages).
Smalltalk is a fully object oriented language.
The most important and consistent ideas in the language are that:
- (1) there are objects
- (2) send messages to objects
- (3) get back an object as the result