3 ms·
"OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late binding of all things." – Alan Kay
by mariodiana 5y ago
"OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late binding of all things." – Alan Kay
- ratww 5y agoThat's a great definition, but it mostly applies only to Smalltalk itself and a subset of Smalltalk descendants, like Ruby. EDIT: changed ancestor to descendant, thanks gnufx!
- gnufx 5y ago[s/ancestor/descendent/] Not Erlang (maybe depending on whether you consider something like Armstrong's universal server extreme late binding)?
- ratww 5y agoGood question! Alan Kay himself definitely thinks so: https://www.quora.com/What-does-Alan-Kay-think-about-Joe-Armstrong-claiming-that-Erlang-might-be-the-only-object-oriented-language-and-also-his-thesis-supervisor-s-claim-that-Erlang-is-extremely-object-oriented https://www.quora.com/What-does-Alan-Kay-think-about-Joe-Arm...
- mypalmike 5y agoI'd say most of these attributes map pretty well to modern OO practices in popular languages, particularly Java, where late binding comes from widely used inversion of control frameworks like Spring. And the underlying mechanism for these is dynamic method dispatch, which I'd agree with Robert Martin is the single unifying requirement of OO.