Contextual Messaging

In Smalltalk, the point of creating classes is to give rise to different contexts in which messages can be received. These contexts describe a way to see and interpret things, and to react to messages. As we localize and concentrate this knowledge and behavior in classes, instead of spreading it ever so thinly on top of every possible C style function we can think of, we get the benefit of describing it once and only once thus lowering the cost of change. We cannot experience the world without drawing distinctions. Hence, there is nothing wrong with creating classes, because they represent the manifestation of intention and the observation of a difference in value[2].

[2] But creating classes is not the only way. Classes are an artifact of how Behavior Specification is supported and implemented in Smalltalk

~

Chapter 3, On CharacterArray>>match:, p. 72