Objects Are Independent Programs
The thread running through a lot of different presentations is that objects are isolated computer programs that communicate by sending and receiving messages. Often, there is an and, but the second clause differs greatly. Let’s ignore it and focus on that first clause.
For example, in Smalltalk-80 and (most of) its descendants, objects could be described as isolated computer programs that communicate by sending and receiving messages and are instances of classes that are organized in a tree structure. The second part here, the part about classes, weakens the first part by reducing the scope of isolation. Why is it required that both the sender and recipient of a message are instances of a class, and that both classes are members of the same tree structure? It is not, so let’s strengthen the idea of isolated programs by removing the constraint on inheritance.
An existing example of an OOP environment with this form of isolation is COM (yes, the...