Smalltalk is an object-oriented programming language because
everything that a Smalltalk programmer deals with is an
object, from a number to an entire application.
All objects are an instance of a class. Classes serve as
templates because they define the instance variables for all the
class variables and methods. Objects have public and private
properties. An object's implementation details are private and are
hidden from other objects. An object's public properties are its
messages that it understands. This make up its interface. The
object's private properties are its variables. Interaction with an
object only occurs via these messages to its interface. All object
instances of a given class have a common message interface.
Squeak is a derivative implementation of Smalltalk-80,
but in some ways, Squeak is no longer a pure Smalltalk. The Squeak
team has mostly abandoned the standard Smalltalk user interface,
Model-View-Controller (MVC), which is used in other Smalltalks, and
has mostly moved to the Self language's Morphic User
Interface, which they are developing beyond what it was in
Self.