Smalltalk implementors talk of object pointers, which makes sense, but where did the acronym OOP come from? DanIngalls recently explained ...
From the beginning, (i.e., 1972 on) we found ourselves using the phrase "object pointer"
in the early Smalltalk work. No problem.
Then around 1974 Ted Kaehler and I invented a virtual memory made expressly for
objects, called OOZE (Object Oriented Zoned Environment). We found we were
having to talk about "OOZE object pointers" a lot, to specify the semantics of an object
pointer whose referent might or might not be in memory. This, being pentasyllabic,
finally pushed us over the acronym cliff to coin "OOP".
We got so used to "OOP" as an object pointer, that we kept using it after we dropped
OOZE in ST-78 and -80. When we released ST-80 to our collaborating companies,
they picked up the word, and eventually asked us what it really meant. We described
the above, and explained that, after OOZE, we supposed, it could mean "Ordinary
Object Pointer".
That's the truth.