I get it that he wants me to do the thinking for myself and figure it out on my own. But he's Alan Kay, and I'm not. I may never figure out what he's figured out, even with hints. And even if I can, maybe I don't have that kind of time.
I get it that he wants me to do the thinking for myself and figure it out on my own. But he's Alan Kay, and I'm not. I may never figure out what he's figured out, even with hints. And even if I can, maybe I don't have that kind of time.
A lot of people think of programming as performing operations on “data” which one must know how to correctly interpret. If two different pieces of code don’t agree about the meaning of your data, it will lead to subtle bugs.
The idea of OOP is to eliminate “data” as much as you can, and express your logic in terms of objects interacting with each other through their interfaces. If done properly, you no longer need to deal with data that every piece of code needs to interpret in its own, but with a system that already understands the meaning and semantics of its state.
Of course most people just create objects with data accessors instead.
I'm also wondering how this approach works in the real world of large scale use of spreadsheets, sharing CSVs, and JSON.