On the nature of Computing Science
Now this summer school draws to a close, it seems appropriate to try to put its topic into some perspective
Its official theme: Control Flow and Data flow: Concepts of Distributed Programming only determined the flavour, for regularly we were lead to pretty general questions that seem rather central to computing in general. So, what is the nature of computing science, or, perhaps more precisely, what should its nature be?
There is much confusion about that, and that confusion should not amaze us, for computers nowadays have so many different aspects:
The above enumeration is not exhaustive; I leave it to you to design and justify a dominant role in computing for the management scientists, the linguists, the experimental physicists and the educationists. This source of confusion about the nature of computing has now been sufficiently explained, so let us turn to the other component: science.
To begin with I would like to recall that Science as a whole has dismally failed to meet its original objectives. As you all remember, those original objectives were three.
Firstly, there was the development of the Elixir that would give you eternal youth.
But since there is little point in living in eternal poverty, the second objective was the development of the Philosophers Stone, by means of which you could make as much gold as you needed.
As you can imagine, the planning of these two grandiose research projects required more foresight than could be provided by the seers of the day and accurate prediction of the future became the third hot scientific topic.
We all know that, as the centuries went by, medicine divorced itself from quackery --at least we hope so!--, that chemistry divorced itself from alchemy and that astronomy divorced itself from astrology. This is just another way of saying that, for tactful reasons, the original objectives were forgotten.
Were they? No, not entirely. Evidently there is still a lingering sense of guilt for, as soon as a promising science or technology emerges, the old objectives are suddenly remembered and the young science is expected to meet them. To which we may add that, the less the new science is understood, the higher these expectations. We all know, how computing is now expected to cure all ills of the world and more, and how as far as these expectations are concerned, even the sky is no longer accepted as the limit.
The analogy raises, for instance, the questions which current computer-related research will later be identified as computing's alchemy, and whether this identification can be speeded up, but I shall leave these questions for your speculation and shall approach the matter from another direction.
Since the rules of the academic games are remarkably strict and stable, we can pursue the question, which aspects of computing could ensure its viability as an academic discipline. Here I am in a much better position since I developed ten years ago a well established theory about the viability of academic disciplines.
This theory tells us that if computing is to develop into a viable academic discipline, it has to be made into an unusually formal branch of mathematics, in which knowledge of facts will play a relatively minor role but methodological concerns will play an unusually large one. As a consequence there will be no significant distinction between pure and applied computing science. The current dictionary definition of mathematics "the science of shape, number and quantity" --which is already obsolete now-- will in the long run be replaced by "the art and science of effective reasoning", and when that has happened --a century from now or so-- computing science will have had a much profounder influence on mathematics at large than physics has had in the past.
All this is very exciting and also very inviting because mathematical elegance will play such a central role. As computing scientists we know that in our area, perhaps more than everywhere else, mathematical elegance is not a dispensable luxury but decides between success and failure.
It is nice to know the dictionary definition for the adjective elegant in the meaning simple and surprisingly effective.
But before above rosy future will have been reached, some hurdles have to be taken. Simplicity is a great virtue but it requires hard work to achieve it and education to appreciate it. And to make matters worse: complexity sells better. The computing industry is not the only one that has discovered that sore truth: so has the academic world. If you deliver a lecture that is crystal clear from the beginning to end, your audience feels cheated and mutters while leaving the lecture hall "That was all rather trivial, wasn't it?". One of our learned journals has rejected a beautiful paper of mine because the solution it presented was too simple to be of academic interest and I am waiting for the rejection of a paper on the grounds that it is too short.
Also our academic reward system works against us. One can get credit for some complicated concepts one has introduced, it is hard to get credit for the discovery how some established but complicated concepts had better be avoided: those unaware of these concepts won't notice your discovery and those with vested interests in them will hate you for it. Hence my urgent advice to all of you to reject the morals of the bestseller society and to find, to start with, your reward in your own fun. This is quite feasible, for the challenge of simplification is so fascinating that, if we do our job properly, we shall have the greatest fun in the world.
In short: Two cheers for Elegance!
Marktoberdorf, 10 August 1984
transcribed by Apurva Mehta