Object orientation has been in the limelight since forever. We have all kinds of Object-Oriented things like programming languages, development methods, diagramming techniques, and database systems. Well, I’m not going to talk about everything but rather, I want to discuss if OOP is being taken completely wrong. Don’t hate me just yet for this dramatic statement (I have nothing against OOP) but stick with me as I explain what I mean.
A few questions!
Talking about Object-Oriented Programming, languages, like C++ and Smalltalk, both are object-oriented but there’s a world of difference between the two. Considering the difference that exists between OO languages, it raises a few questions like:
Objectiveness
The class construction model
The object construction model
The type system
The object life cycle model
It makes me wonder if there is any general idea or a consistent theory about what an OOP is. Something is certainly fishy here.
Does language actually MATTER?
Are all the above mentioned just language problems or is there something else going on? Let’s start from the beginning. What exactly OOP is? Let’s ask the father of OOP; Alan Kay,
“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.”
So as far as I’ve understood, OOP is -
- Messaging
- Local retention
- Protection and hiding of state-process
- Extreme late binding
Let me refer you back to Alan,
“……..it is not even about classes. I'm sorry that I long ago coined the term "objects" for this topic because it gets many people to focus on the lesser idea. The big idea is "messaging"….The key to making great and growable systems is much more to design how its modules communicate rather than what their internal properties and behaviors should be. Think of the internet -- to live, it (a) has to allow many different kinds of ideas and realizations that are beyond any single standard and (b) to allow varying degrees of safe interoperability between these ideas.”

jubula samalPosted May 21, 2019, 8:38 AM
Sounds good