A computer is like a violin. You can imagine a novice trying first a phonograph and then a violin. The latter, he says, sounds terrible. That is the argument we have heard from our humanists and most of our computer scientists. Computer programs are good, they say, for particular purposes, but they aren't flexible. Neither is a violin, or a typewriter, until you learn how to use it.
Marvin Minsky – Programming clarifies poorly-understood and sloppily-formulated Ideas
Computer science is not a science and it has little to do with computers. Its a revolution in the way we think and in the way we express what we think. The essence of this change is procedural epistemology — the study of the structure of knowledge from an imperative point of view, as opposed to the declarative point of view taken by math.
Mathematics provides a framework for dealing precisely with notions of «what is»
Computation provides a framework for dealing precisely with notions of «how to»
Abelson and Sussman — Structure and Interpretation of Computer Programs
Computer Science is no more about computers than astronomy is about telescopes, biology is about microscopes or chemistry is about beakers and test tubes.
There is an essential unity of mathematics and computer science.
The above three quotes are interesting as much in their agreement – the irrelevance of computers to computer-science – as in the difference of emphasis: Minsky sees CS from the intelligence/learning pov, Fellows/Dijkstra as math, Abelson/Sussman as something contrasting to math…
So what actually is CS about??
Following is an article I wrote for a newspaper in 1995 on the wider-than-mere-technology significance of CS — reposting here for historical interest.
It is quite obvious today that computers are contributing to the world as little else. Romer (TOI 24-10-95, New Ideas stimulate Growth) points out that as the advent of electricity completely changed the nature of manufacturing processes, the advent of computers must have a similar transformational effect. The analogy of electricity in the last century with computers today is very apt, perhaps too apt. We don't look deeper. The overwhelming presence of computers as today's arch-purveyor of amenities and convenience has blinded us to the richest ideas that they carry. Romer talks of two ways of looking at computers – the less and the more radical view. In this article I shall:
- Refine Romer's two views of the contribution of computers into three distinct levels and correct some misconceptions by giving an insider's view of the field.
- Show that computing science (CS) is a real science struggling to break out of a puerile and primitive fascination for machines.
- Try to give a hint or two that behind this science lurks unsuspected a deep philosophy.
We now come to the second level. Within the next ten years we will see computers contributing to all spheres of life (not just business and technology) in ways that may be inconceivable today. For example, as networking moves from the realm of ideas into the everyday world, it will become feasible to exploit a nationwide network to conduct a national election. Just think: This would not only mean a saving of crores of rupees but would make possible the conducting of a referendum on every issue of significance. Clearly, in such a world, entirely new paradigms of politics would emerge.
The second level of the impact of computers therefore, has to do with these upheavals. It is not just in politics, nor just through networking that we will see sea-changes, but every aspect of computing – user-interfaces, programming languages, modelling and simulation – is going to affect every facet of life – entertainment, religion, travel – in unexpected but dramatic ways.
And yet we have not crossed the second level.
If the second level stretches so far, clearly the third level must be hard to reach.
To get a glimpse of it, we must not stop at Romer's analogy of computers with electricity or the cliche that the information age is the successor of the industrial age. If we look deeply at our modern civilization, we see that the industrial revolution of the 18th century culminating in the use of electricity in the late 19th century is a bright but superficial factor. The deeper factor, closer to the foundation of our civilization is the scientific revolution of the 17-18th century – Copernicus, Galileo and Newton. These are the men through whose eyes we still see much of our world.
The deepest factor however goes all the way back to the renaissance of the 15-16th century, because it is from here that we get our best and most fundamental values: the dignity of the individual, the importance of the pursuit of knowledge and the supreme glory of the human spirit. I could trace out how our modern world-view is a result of standing on the shoulders of giants like Newton and Leonardo da Vinci but this absorbing story would take me too far afield. Also, the interweaving of this European story with our own is another interesting saga, but that is not germane to this article. What is central to my purpose here, is to outline the different levels at which computers impinge upon us.
At the most obvious but most superficial level, computers give us a useful technology. In terms of the history I have above outlined, this 1st level parallels the industrial revolution. This level, which is the shallowest and the most in demand, is catered to by the `3-month-diploma' institutions that are mushrooming all over the country.
At the next level, computers are associated with a science (of moderate depth) which is what most higher educational institutions concentrate upon. I may mention here that many universities, (especially in Europe) are renaming their computer science departments to computing science departments to emphasize that they are not catering to the `latest' technology but to underlying principles. By sharp contrast, the best CS departments in India are in the institutes of technology rather than in Universities. I don't know how much names matter, but to me this indicates that we Indians place knowledge as an end (as against knowledge as a means), low on our priorities.
But at the deepest level, unknown to the common man and even to many computer scientists, computers are the carrier of a new philosophy: a philosophy that is humane, holistic and humble yet is poised to topple the narrow, rationalistic and arrogant philosophy that we moderns call `being scientific'. This is of interest because it may be that computers will be the harbingers of the most mechanised world we have ever known, yet CS will be the opposite in effect. And the parallel with the renaissance is even more interesting because both are movements that restored Man as the centre of the universe. The renaissance toppled the autocratic church, the computer revolution is likely to topple our worn-out scientific, technological and educational institutions.
In summary, the historical table:
|History||Gave us our||Focus|
is being mirrored by the unfolding table:
|Computing Science||Using computers||Mathematics||Universities, IITs|
|Yet Unnnamed||The human context
of using computers
|? Yet to be instituted ?|
One of the greatest computer scientists – E.W.Dijkstra – once said:
The influence of computers as tools might turn out to be but a ripple on the surface of our culture, whereas I expect them to have a much more profound influence in their capacity of intellectual challenge.
The problem with our civilization is that we cannot understand this. We cannot digest the raw power of an idea unless it leads to a technology, which is why we do not see the deepest but unobvious contributions of CS. Imagine the astronomer who leaving aside the stars, the heavens and the universe, pursues the latest telescope-technology. Or the biologist, who looking at the most modern microscope is so fascinated he forgets to look through it. We are stuck at the first layer because of our universal fascination for computers.
Sadly, intellectuals are as subject to this fascination as the starry-eyed schoolboy. Only it is well-garmented and so harder to spot. Witness for example Romer
He claims that Microsoft spends millions of dollars on exploring new ideas whereas the product itself – the diskettes containing the software – costs next to nothing. This is like saying that for the product called a book the manufacturer is the printing press rather than the author. To ascribe innovative ideas in software to Microsoft is like ascribing aviation to Boeing or Air-India rather than to the Wright brothers. If Microsoft has made any ideological contribution, it is that of the software assembly line with all its attendant benefits and nightmares.
To value artifacts – be they gizmos or computers – is the original sin. The equation of ideas with technology – a la Romer – is the fig-leaf that protects our shame. Those of us who leave behind toys and seek genuine understanding, will find that CS provides sumptuously – insights that few sciences can compete with and delights that rival the finest art.
Here are just some ideas, issues and dilemmas that arise out of computing science.
- The nature and importance of language and its psychological impact: The programming languages angle.
- Massive computer systems are architectural artifacts. The interplay of the 2 disciplines: CS and architecture
- The large possibilities of design coupled with the absence of a single best way: The dilemma of one truth vs. multiple paradigms
- CS as the field where finite resources serve unlimited requirements: Managing the inevitable problems
- Computer Ethics. The issue of computer crime: Coping with a new sedentary paradigm of dacoity
- Is computing science a science? What is a science?
- The computer as a creator of a new mythology
- The hard-soft duality
It is my view that one of the deep effects that CS will have on our culture will be to challenge this hard-soft dilemma, not just at the lowest level of hardware vs. software but at every level. The following examples should illustrate.
- At the level of industrial practice there is a strong drive towards formalization, manifesting in ISO-9000 etc, yet the way programming is practised is universally informal and generally chaotic. Computer scientists therefore are torn between those who believe that formalization is the hope of the future – the hard scientists – and those who consider formalization to be utterly vain and wasteful – the soft scientists.
- At the level of CS-education most institutions train their students almost exclusively in the hard areas of mathematics, programming and systems. Yet the need for soft subjects like cognitive psychology, linguistics, history and philosophy becomes ever more acute.
- And to take just one example outside CS, let us look at mathematics. Some mathematicians believe that the future will give us computer generated proofs that are 100% correct because they will be 100% formal. Yet others consider a proof to be a sociological entity. A computer generated proof is no proof. A theorem is not proved until accepted by the mathematical community.
- And such tumults are not just racking mathematics but every field.
Two views could be taken of the situation:
- We are at a point where a lot of new things – ideas as well as technology – have suddenly appeared. Things will settle down in a few years.
- The dilemmas are exposing the foundations on which are built our most cherished edifices. The very ground on which we stand will be razed in a few years.