DEV Community

loading...

Discussion on: Object-Oriented Programming Strikes Back!

spearofsolomon profile image
Nathan Spears

It's not a point of view, it's how neuroscience is working out our interpretation of the world.

A tool is something that has utility (this input gives this output). An obstacle is something in the way. An object is a layer of interpretation on top of those properties.

In other words, you can sit on a chair without needing to know that it's a chair. Say that you were blindfolded and someone put your hands on a flat place. You would be able to turn around and sit on it without needing to know anything else about it - it's a sitting place. That's the utility. Functionally you input your butt and output your body at rest.

Take off the blindfold and you could see that it's a chair, or a stool, or a stump, or a cliff's edge. Doesn't matter, they are all sitting places. You perceive the object after you perceive the utility, but the natural (and completely reasonable) assumption that people had for thousands of years was that we perceived the object and then perceived the utility. Objects are results of categorization made possible by consciousness, but the systems that consciousness is built on don't require objects to operate (obviously, or the animals who use them would be unable to operate).

Thread Thread
riccardo_cardin profile image
Riccardo Cardin Author

That's ok. My focus was not on neuroscience studies and recent goals, but on programming :)

Thread Thread
spearofsolomon profile image
Nathan Spears

Sure. My point is that learning to see problem-solving techniques as composable functions may actually be closer to our innate problem-solving paradigms than Object-oriented techniques are.