> Objects calling other objects is optional for OOP, I never saw a definition that requires them to do. OOP is about code and data organization.
Smalltalk, which is the prototypical OO language, does the exact opposite of everything you said (all computations happen by message passing and all members are public).
I did not say message passing is required to be not present, I said it’s optional.
> and all members are public
I did not say anything about encapsulation. I said OO is about organization of code and data. If you have classes with properties and methods, it’s OOP.
Smalltalk, which is the prototypical OO language, does the exact opposite of everything you said (all computations happen by message passing and all members are public).