> OO in the style of C++/C#/Java is extremely flexible in terms of code organization.
Is the problem perhaps that the wrong lessons were taken from earlier OOPs by later OOPs? Alan Kay in 2003:
> OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.
If Alan Kay's definition is at odds with what 99% of the industry call OOP then it's not particularly useful, his definition sounds more like micro-services.
Funnily enough it also describes some of my more elaborate shell scripts with various messages flowing into and out of self contained processes.
Is the problem perhaps that the wrong lessons were taken from earlier OOPs by later OOPs? Alan Kay in 2003:
> OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.
* http://userpage.fu-berlin.de/~ram/pub/pub_jf47ht81Ht/doc_kay...
* https://news.ycombinator.com/item?id=19415983 (via)