What is ‘computation’? Where is ‘computation’?
One of the most enlightening insights of the natural sciences, is an observation about human beings: the ‘meaning’ of your words lie within your brain. It’s remarked upon by Aristotle in On Interpretations, and this idea has been responsible for the majority of progress in psychology or philosophy, of course from a natural science point-of-view.
A related observation: we are generally unaware that meaning lies within the brain. So, for example, the specific geometry of brain activity, when we hear or speak or think the word “screwdriver”, is essentially invariant for all humans, in all languages. Some people are surprised by this, although it’s pretty clear that we would be unable to understand each other otherwise.
Something similar would be true of any idea, say, a non-technical, intuitive definition of “computation”. But even two technical definitions of ‘computation’, if they truly represent the same idea, would create the same activity in our head, recruiting and combining innate capabilities in our brain in the same way.
If this is hard to accept, it’s not from lack of reasoning power or evidence. It’s because it’s hard to be objective about one’s own species, and one’s own person. Culture lies within the brain too. And, even the culture and criteria and honed judgment of the natural sciences lie with the human brain. We simply need to cope with that. It’s hard. Even what I’m writing now is a construction of the brain. But that doesn’t mean we should give up.
One interesting difference between natural words and formally defined terms, is that when we define technical terms, we are usually trying to make them helpful within some theoretical model of something we believe occurs in the real world. Which may be non-intuitive, but that’s ok. The model is in our head, sure, but if we remain aware of that, we may still create ‘better’ models, that is, more enlightening models. So from that point of view, Alan Turing’s definition of computation could be taken as a tentative theory about human biology, describing a particular type of model within our head: the one we use when we invoke the word ‘compute’.
That would be one kind of science: natural science, where the theory was created to help the study the of mind as a part of nature. There are other kinds of science, whose theories regard the organizing and internal consistency of ideas, and the manipulation of symbolic artifacts that we associate with them. The former is natural science (physics, chemistry, biology, neuroscience …), and the latter is formal science (mathematics, logic, theoretical computing … ). Turing’s thesis was interpreted in the latter sense, unfortunately, and this remains true today. This is why computing, although it is used in the natural sciences, cannot itself be considered a natural science. (It can also be considered applied science, but just about everything can be, so I’ll put that aside).
Computing doesn’t need to be outside of the natural sciences. We could still consider computing problems from a naturalistic standpoint. The results are both enlightening and practical.
For example, if all meaning is in the brain, then our programs contain nothing more than artifacts, symbols that act as hints for the construction of our mental model, as any writing is. As humans ourselves, we can look at someone else’s program, and get some idea of what they were trying to do. But it’s rather like looking at the way people have arranged furniture in a living room to make themselves comfortable. As a human yourself, you can guess at some of the factors that entered into shaping the arrangement, but you can’t understand others. It’s just a residue of human interaction. The factors are still in the mind of the perpetrator. The same is true for judging the residue of the person who ‘lived in this code’ … and the same is true for the stuff we do understand in the code: the meaning is in our heads. Not in the program.
The practical implication is simple: programmers should spend much more effort explaining their development effort. They need to provide much better hints.
That’s just an example of the value of a naturalistic perspective. Almost every discussion in computing misses these essential principles, and becomes very wobbly and vague, because the perspective of the natural sciences doesn’t enter into the interpretation even of the foundation work of computer science. This effect is multiplied beyond repair in the atmosphere of hyperbole in the practices of the computer industry. As a result, the goals of most computer people do not involve trying to find out what is going on in the natural world. They may pine for the natural sciences, but they are instead optimizing for money or speed or clicks or adrenaline or addiction or whatever. If they want to understand what computing is, they need to acknowledge that ‘computing’ is an idea in the human brain, and so to study it, they must study themselves, as they might study the operation of any machine, any animal, or anything else in the world.
You can read more at: