There is this new kid on the block called Interaction Oriented Programming (IOP).
Can somebody explain how it works? How does it compare to object oriented programming? Will this replace object oriented programming or will it just be a niche thing?
What exactly is it and what is its intended purpose?
3
This answer is out of my context:
OOP
is currently programmed with classes. If you program an object you look inside the object and model the reactions to the outside. You do not look outside the object. It is more like class-oriented programming.
Interaction-oriented
you model the interactions (such as use-cases) between the objects.
I think of it like writing a theater play with scenes. Each object acts along with the script. All interactions between the objects are visible.
Maybe this is related to the method-object-pattern where you perform one special task and you can look at what is done in this one object. It may solve that your interactions are scattered all over many classes.
DCI
to get an update on this have a look at the Data-Context-Interaction-Paradigm.
It uses classes to model the domain.
In every context you assign roles to the objects. What an object can do is defined in the role it plays. (like a theater scene)
The interaction then evolves between the roles.