The OoBestFeaturePoll suggests that the claim that OO betters models human thought process is a significant viewpoint. I suggest we explore, or at least index, the issue more thoroughly.
Related Topics:
Here are two common ideals about OO that can conflate to misconception level:
If you and I agree on a definition for a distinction about OO designs, then we can always independently and unambiguously determine which OO designs are or are not members of the distinction.
Therefore, I cannot say "my design idea is better than yours because mine models { the real world | human thinking } better."
So these ideals cannot be used to win arguments or defend a given OO design. --PhlIp
I think that some rough metrics could be applied to the first one. For example, perhaps paradigm X can do a given model with less code and/or less places to change given typical change scenarios (CodeChangeImpactAnalysis). However, measuring how well something fits a given mind, or all human minds, is more of a psychology endeavor, and psychology is a gray art.
You misunderstand my understatement. I'm saying wasting time on either "metric" will damage a project.
Why would it "damage" it? Having tools fit the way one thinks is key to productivity. Being forced to do some things in ways that others like but rubs me wrong can greatly slow me. But, because people think so differently, a compromise may be needed.
Okay, try this: All ObjectOriented languages support polymorphism thru an interface.
But languages compete fuzzily. You can't change language as easily as design. So selecting the language that wraps polymorphism in accessible metaphors makes more sense. That's why we call them "objects".
So what approach better models human thinking? If it isn't OO, if it isn't Relational, then what is the best tool to Model Human Thinking? Could it be that Human Thinking is not monolithic and that some people think one way and others think another way? Could it be that those who employ OO find it is a superb tool in their hands to perform tasks and manipulate and preserve information?
What's my motivation? Am I trying to write a master's thesis on ArtificialIntelligence? Or am I trying to get paid?
I haven't actually read where anyone describes how we think. Without this question answered, how can the question of this page be answered. I have a lot of books on how we think. It seems to have little to do with any computer language I've looked at.
So, how does OO model Human Thinking?
Sansweredee OoMatchesThinking
See also OoIsPragmatic