Thing Oriented Programming
From DSLs
- Not everything is an "object"
- Everything is a "thing"
- Inheritance and polymorphism is one meta-system that fits some problems but it is not the only one
- We forced ourseleves to think about things in term of object, now we can not think about things without OOP
- Things are "things"
- Programmers are clever enough to adapt any tool to their need, by digging for solution in the universe of complexity
- A lot of solutions come from developers and not from the tools
- A lot of tools creators get impressed by the overuse of their tools
- A state pattern envolves a big graph of objects and interfaces
- Maybe it is just not object? it is rather a state!
- Adapter is a connector, door is a connector too. Window can be a connector
- All meta-systems (things) coexist, and communicate using messages or other "things"
- Class is a template for creating an instance
- The problem sometimes is not only in it, sometimes we complicate the problem because of the way we look at it
- A relationship does NOT exist in OOP, even if we can do it with OOP cheats
- Cheating shows the incompleteness
