What? This is bullshit, dude. Programming isn't a layer on top the physical world of spatial relationships; it's a layer on top the physical world of discrete, numeric algorithms.
In the real world, you have analogue power levels--voltage, current. Then, we build digital circuitry, such that being about 2.8-3.8V from ground state is "3.3V" or "ON", and being below that is "OFF"; being above that is "HALT, CATCH FIRE". This is a purely numerical behavior: the variations in the real world do not apply to digital circuitry.
On top of that, you build a set of operational codes to manipulate states, i.e. assembly. You also build programming languages such as C, Python, and so on, which turn complex algorithms into a static analysis tree, optimize the tree, and then convert that into optimal procedural operational codes.
The best we have for programming is object orientation, which takes a lot of procedural stuff for repeated modules away; but then you need to build the procedural framework to use those objects, as well as the discrete procedural behavior of the object. You're reducing complex procedural code down to a limited interface so that you can write other complex procedural code to handle that, thus reducing the amount of complex procedural shit you have to think about interacting with other complex procedural shit.
You can't program a computer by putting a ball on top a stick. Computers need programming in terms of what is absolutely understood and non-ambiguous.