The short answer
A request can stay the same while its implementation changes. To understand that possibility, keep the receiver, the request and the procedure that handles it distinct.
Compare the representations
What is the difference between asking an object to act and specifying how it must act?
Keep the stated evidence separate from the conclusions it permits.
| Distinction | Representation or action | What follows — and what does not |
|---|---|---|
| Object | LoanA has its own remembered due date. | Its state is not automatically the state of LoanB. |
| Message | A caller requests renewal. | The request does not dictate every implementation step. |
| Method and class | An implementation describes how instances respond. | Shared methods do not imply one shared set of instance values. |
Chronology
A timeline of the turning points
Selected historical record
The cited record supplies the historical starting point; the labelled examples below are original.
The book’s vocabulary
Goldberg and Robson’s Smalltalk-80 book describes objects with private memory and operations, messages that request operations, and classes describing implementations shared by instances. The receiver determines how to respond. The selected opening chapter is a language explanation, not a complete tour of every interactive tool.
Sources for this section: [1]
An invented library example
Imagine a library system with two loan objects: LoanA and LoanB. Each remembers its own due date. A caller sends the same conceptual request, “may this loan be renewed?” LoanA may answer yes and LoanB no because their remembered states differ. The caller has not needed to retrieve and edit either due-date field directly. These are explanatory names and English requests, not runnable Smalltalk source.
Now imagine that the policy for one kind of loan changes. A method handling the renewal request can change while the caller continues to make the same request. That separation is useful only if the request’s meaning remains clear. Quietly changing “renew” to mean “return the book” would break the agreement even if the message name stayed the same.
Choosing objects is a design decision
For a classroom model concerned only with loan renewals, representing each loan may be enough. For a study of queues at a checkout desk, the model would also need to represent service and waiting. The useful objects depend on the question. More class names do not automatically make a model more faithful.
When reading a program description, ask four questions: who receives the message, what request it expresses, where the relevant state belongs and which method handles the request. This is a practical reading method for the historical vocabulary. It is not a claim that message passing removes every dependency, proves program correctness or dictates one universal way to model a library.
Continue the chronology
Related history guides
Biography context
Explore United States through connected lives
Connected biographies
A working life behind the record
Quick answers
Common questions
- Are the library examples executable Smalltalk-80 programs?
- No. They are conceptual traces in English, designed to clarify the terms without claiming a historical system was run.
Primary and institutional sources
How this history was checked
The account identifies the selected portions actually consulted. Original scenarios and reference answers explain the distinction without reproducing the source’s diagrams or implying that historical software was run. This article was reviewed on 5 November 2026.
