Disclaimer 1 : This question is more a “meta computer science” question so maybe it does not belong here
Disclaimer 2 : I used the word “God” in the title but maybe “mastermind” would have been more appropriate, this post has nothing to do with religion and i am not trying to prove the existence / non-existence of any god.
This is a thought that I had several times during my coding session : imagine you want to simulate the world in a simple way : you want to create two spheres, moving in any way you want, but you want to have collisions between them.
In order to do that, a simple way would be something like creating two sphere object, and at every frame, check wether they are colliding or not. This method requires some kind of “god” : indeed the “main program” is omniscient and has access to every entities in the word.
Of course there are many ways you could improve this implementation : maybe you could juste give a list of the existing sphere in the world to the spheres, and let them decide for the collisions by themselves, maybe there are some heuristics which allows to sometimes not have to check for collisions etc…
But at the end i feel like to simulate collisions between thoses spheres, there need to be someone which is omniscient, and which is aware of everything which is currently in the world. On the other side, interactions in the real world seems to work in a totaly different way : if you drop a bowling ball on the ground, the ball will stop on the ground because the ground is here, because there are some forces that doesn’t allow it to go further.
One thing you might say, is that this difference between programming world and real world only exists because my virtual modeling is too simple. Maybe i would need to simulate the world with atoms, forces, maybe even some quantum physics etc… But at the end i still think that, at some point, we will have to model interactions between entities. Even if we decide to simulate atoms and forces, at some point we will need to be able to tell to some atoms “hey you are currently in a magnetic field you should do something”.
And here is a clear formulation of my thoughts : i feel like in the current way programming works, if we want to model interactions between entities / objects, there needs to be an omniscient entity somewhere (wether it be a “mastermind” which supervise everyone, or that an entity know the existence of every other ones), while in the real world interactions doesn’t seems to work like that.
This is something that i have been thinking for some days now, and i’m just wondering if it is our current model of computation (Turing machine) which is not the right one to model the world, or if there are things which needs to be discovered to model the world more precisely (or maybe I missed a point and my thoughts are just not relevant). I don’t have a clear question to ask you, but if you have any thoughts on why what i said is not interesting / not relevant / etc. Don’t hesitate !