|
Size: 2382
Comment:
|
← Revision 13 as of 2026-05-30 22:24:24 ⇥
Size: 2455
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 21: | Line 21: |
| * [[https://en.wikipedia.org/wiki/GNU_Smalltalk| GNU Smaltalk]] * https://en.wikibooks.org/wiki/Smalltalk_Programming * https://en.wikibooks.org/wiki/Smalltalk_Programming/Preliminaries |
* [[https://en.wikipedia.org/wiki/GNU_Smalltalk| GNU Smalltalk]] * [[https://en.wikibooks.org/wiki/Smalltalk_Programming | Smalltalk programming ]] * [[https://en.wikibooks.org/wiki/Smalltalk_Programming/Preliminaries | Smalltalk programming preliminaries ]] |
Contents
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
