This is a story about implementing Lean Software Development in a software vendor house for about 2 years, during which seven major changes have gradually been implemented that have helped the R&D department to remove waste from their software development process with encouraging results.
Objects are not data structures. Objects may use data structures; but the manner in which those data structures are used or contained is hidden. This is why data fields are private. From the outside looking in you cannot see any state. All you can see are functions. Therefore Objects are about functions not about state.
When objects are used as data structures it is a design smell; and it always has been. When tools like Hibernate call themselves object-relational mappers, they are incorrect. ORMs don't map relational data to objects; they map relational data to data structures. Those data structures are not objects.
Objects are bags of functions, not bags of data.
Frédéric Fadel's insight:
The problem with OO is that more than 30 years later, you still need disclaimers like: Objects are not Data, OO is not about state, ORMs don't map data to objects... If you need to remind it forever, it means that something is/was wrong in the first place!