In the complexity of the world we live in today I was recalling my early engineering days and the comparisons I used to make between engineering and science. In science we strive to figure out why things work the way they do and in engineering we strive to make things work. For example way back somebody discovered that a transistor would do things that tubes would do at low voltages. Some inventive people then figured how to put them together into circuits. At that time in the early 60’s we had no idea why they did what they did but we were able to apply the tool to solve problems. That is engineering.
I think that is what a heuristic approach means. We learn by experience not by theoretical approaches. In the world of computing and more specifically data manipulations, I always stand in awe at what we humans are able to accomplish in a world we do not understand. I was just reviewing some theoretical work to explain complex dynamics systems like in the Internet. I conclude we really do not have a clue how it all works together but it does and we use it.
I am thinking of another approach to this idea. In a course I took eons ago on the philosophy of science, I learned that a scientific theory is only "good" if it is simple. Apparently Einstein had his theory of relativity for many years before he found mathematics simple enough to model it. If Newton tried to exactly express the laws of motion to fit the data he would have had a very complex statistical model, but he chose some very simple equations, Force = Mass times Acceleration. Ingenious but really only approximately fits the data.
So in a world which we do not understand, we develop relatively simple mental models so that we can make decision. I still marvel at the fact that programs I wrote in the early 70’s are still churning away controlling nuclear power stations and control systems I worked on for communication satellite stations are still tracking communication satellites. How good is that.
In the world of data warehousing these systems we create faithfully repeat the tasks we program for as long as the work is useful. How it all happens is beyond my pea brains, but I know it works. I suspect most of us only see parts of this great system and just proceed to produce useful systems that work and are helpful.