• No results found

3.15 So, What Is Computer Science?

3.15.1 Computer Science and Elephants

Consider the fable of the blind men and the elephant: Six blind, wise men try to de- scribe an elephant that they can only touch, not see. The first touches its side and says that the elephant is like a wall. The second touches its tusk and says that the elephant is like a spear. The third touches its trunk and says that the elephant is like a snake. The fourth touches its knee and says that the elephant is like a tree. The fifth touches its ear and says that the elephant is like a fan. The sixth touches its tail and says that the elephant is like a rope. As John Godfrey Saxe’s 1873 poem sums it up,

And so these men of Indostan Disputed loud and long, Each in his own opinion Exceeding stiff and strong, Though each was partly in the right, And all were in the wrong!

(http://www.noogenesis.com/pineapple/blind men elephant.html)28

Our exploration of the various answers to the question “What is CS?” suggests that it has no simple, one-sentence answer. Any attempt at one is no better than the fabled blind men’s descriptions of an elephant: Many, if not most or all, such attempts wind up describing the subject by focusing on only one aspect of it, as we saw with Newell, Perlis, & Simon and with Knuth.

Now that we have looked at all sides of our “elephant” (to continue the earlier metaphor), I would put it differently: CS is the scientific study of afamily of topics

surrounding both abstract (or theoretical) and concrete (or practical) computing: It is a “portmanteau” discipline.29Let me explain:

When the discipline was first getting started, it emerged from various other disci- plines: “electrical engineering, physics, mathematics, or even business” (Hamming, 1968, p. 4). In fact, the first academic computer programming course I took (in Fortran)—the only one offered at my university in the late 1960s—was given by its School of Business.

Charles Darwin said that “all true classification . . . [is] genealogical” (Darwin, 1872, Ch. 14,§“Classification”, p. 437). CS’s genealogy involves two historical tra- ditions: (1) the study of algorithms and the foundations of mathematics (from ancient Babylonian mathematics (Knuth, 1972a), through Euclid’s geometry, to inquiries into the nature of logic, leading ultimately to the Turing Machine) and (2) the attempts to design and construct a calculating machine (from the Antikythera Mechanism of an- cient Greece; through Pascal’s and Leibniz’s calculators and Babbage’s machines; to the ENIAC, iPhone, and beyond). (We’ll go into more detail in Chapter 6; for a brief version from Hartmanis’s point of view, see Hartmanis 1993, pp. 9–11.)

Denning (2003, p. 15) makes an offhand comment that has an interesting implica- tion. He says, “Computer science was born in the mid-1940s with the construction of the first electronic computers.” This is no doubt true. But it suggests that the answer to the question of what CS ishas to bethat it is the study ofcomputers. The study of

algorithmsis much older, of course, dating back at least to Turing’s 1936 formaliza- tion of the notion, if not back to Euclid’s geometry or ancient Babylonian mathematics. Yet the study of algorithms is clearly part of modern CS. So, modern CS is the result of a marriage between (or merger of) the engineering problem of building better and better automatic calculating devices (itself an ancient endeavor) and the mathemati- cal problem of understanding the nature of algorithmic computation. And that implies that modern CS hasbothengineeringandscience in its DNA. Hence its portmanteau nature.

The topics studied in contemporary CS roughly align along a spectrum ranging from the mathematical theory of computing, at one end, to the engineering of physical computers, at the other, as we saw in§3.4.1. (Newell, Perlis, & Simon were looking at this spectrum from one end; Knuth was looking at it from the other end.) The topics share a family resemblance (and perhaps nothing more than that, except for their under- lying DNA), not only to each other, but also to other disciplines (including mathemat- ics, electrical engineering, information theory, communication, etc.), and they overlap with issues discussed in the cognitive sciences, philosophy (including ethics), sociol- ogy, education, the arts, and business:

I reject the title question [“Are We Scientists or Engineers?”]. . . . Computer Sci- ence . . . spans a multidimensional spectrum from deep and elegant mathematics to crafty programming, from abstraction to solder joints, from deep truth to elu- sive human factors, from scholars motivated purely by the desire for knowledge or practitioners making my everyday life better. It embraces the ethos of the scholar

29A “portmanteau” is a suitcase that opens into two equal sections. A “portmanteauword”—the term

was coined by Lewis Carroll (1871)—is one with “two meanings packed up into one word”, like ‘slithy’ (meaning “lithe and slimy”) or ‘smog’ (meaning “smoke and fog”).

as well as that of the professional. To answer the question would be to exclude some portion of this spectrum, and I would be poorer for that. (Wulf, 1995, p. 57)