Computer science is in a period of renaissance as it rediscovers its science roots.
The following letter was published in the Letters to the Editor in the August 2013 CACM (http://cacm.acm.org/magazines/2013/8/166312).
Peter J. Denning's Viewpoint "The Science in Computer Science" (May 2013) explored the ongoing dispute over scientific boundaries within computer science. The root word in Latin for science is "knowledge," and computer science likewise concerns knowledge. However, the boundaries separating the sciences, and knowledge in general, have never been clear and definite.
In the mid-20th century, John von Neumann was emblematic of the idea that there are no clear boundaries. "Mathematician" is the word most often used to describe him, though he was also a physicist, economist, engineer, game theorist, and meteorologist, as well as computer scientist, even though computer science did not exist as a discipline at the time.
The term "von Neumann architecture" reflects how von Neumann's professional life defined the principles of modern digital computing. Was he a computer scientist? If we could ask him, he would say yes, because he appreciated that he used computing as a tool, even though such an assertion would have alienated many colleagues at the Institute for Advanced Study in Princeton, NJ. He ignored the historical boundaries of the disciplines, but his contributions expanded them all because knowledge imposes no restrictions on what or how knowledge is applied. In this light, the tool makes the man. Can one be a surgeon without being able to use a scalpel, an astronomer without being able to use a telescope, or a microbiologist without being able to use a microscope?
The reason computing is so exciting today is precisely because such boundaries are irrelevant. Before Google, who would have imagined a "search engine" would become a multibillion-dollar industry or that computing power combined with powerful telescopes would explore for Earth-like planets light-years away? The power of computing is itself the power of knowledge.
If there were indeed clear boundaries within the sciences, Thomas S. Kuhn's 1962 book The Structure of Scientific Revolutions exposed them as untenable. His study of what constitutes "normal" vs. "revolutionary" science has been controversial ever since because drawing boundaries is nearly impossible.
Computing practitioners who feel slighted when someone says their profession is less than scientific should calm themselves. Computing is at the heart of the expansion of knowledge in practically every discipline, without regard to prior boundaries. Unlike any other tool ever devised, computing manages to straddle Boolean logic, materials science, control of electron flow, manufacturing know-how, and semanticity. Moreover, it has no inherent size, with Moore's Law applying regardless of scale. Semanticity means computers are the first machines to be able to store and manipulate symbols that are also meaningful to humans.
Knowledge is at the heart of computing, and knowledge has but one boundary, between itself and ignorance and superstition. Von Neumann made no effort to justify his professional pursuits, recognizing that knowledge is but one thing, available to all who think.
Hsu eloquently argues on behalf of my main conclusion that computing science cuts through many fields while enriching them all with an understanding of information and information transformations a conclusion that will eventually be widely accepted. The challenge in the near term is that many K12 school systems do not recognize computing as a science, nor do they have computing courses, something many people are working to change. I hope our Ubiquity symposium (http://ubiquity.acm.org) provides them some needed ammunition.
Peter J. Denning
The following letter was published in the Letters to the Editor in the July 2013 CACM (http://cacm.acm.org/magazines/2013/7/165490).
One way to address the question "Is computer science a science?" is to imagine having to translate it into another language. We would immediately confront two difficulties: "computer science" generally translates to something like "informatics," and, in other languages, the word "science" typically refers to any rigorous intellectual discipline, even in the humanities. The question then translates to "Is informatics a rigorous intellectual discipline?" where the answer is surely yes. But in his Viewpoint "The Science in Computer Science" (May 2013), Peter J. Denning clearly adopted the typical English speaker's view of science as abbreviating "natural science," something like physics or geology. The question then translates to "Is informatics like physics or geology?" and looks like nonsense. Making matters worse, Denning's focus on experimental science seemingly excluded topics like cosmology and evolutionary biology, where "reproducibility of results" is out of the question; nobody can repeat the big bang or the evolution of life on Earth. (Moreover, alchemists were fond of experimentation.) The quest to discover the science in computer science seems to rely on semantic questions. Does it really matter whether computer science is a form of engineering or instead an applied science? Does the existence of natural information processes make computer science more rigorous or significant?
I am sure the exercise involves legitimate goals that could be made clearer by asking specific questions; for example, does the subject use sound methods that deliver trustworthy results? (Economists should ask themselves this one.) Does computer science get the prestige/recognition/funding it deserves? How can we convey a clear understanding of it to the wider public? I suggest we focus on such specific, unambiguous questions and not get bogged down on the issue of what exactly counts as a science.
Lawrence C. Paulson
I listed seven criteria for a field to be considered a science in the common meaning: "a discipline that employs the scientific method." Computer science meets them all. Reproducibility is one, and indeed cosmology and evolutionary biology strive for results others can reproduce. The degree to which computer science integrates science, engineering, and mathematics affects answers to fundamental questions about methodology (How do we practice computer science?), pedagogy (How do we teach it?) and dissemination (How do we communicate it?). For more, check the ACM Ubiquity symposia on science (http://ubiquity.acm.org/symposia.cfm).
Peter J. Denning
Displaying all 2 comments