5

Click here to load reader

Figuring out Computer Science

Embed Size (px)

DESCRIPTION

Looking at Computer Science

Citation preview

Page 1: Figuring out Computer Science

COMMUNICATIONS OF THE ACM April 2005/Vol. 48, No. 4 27

What is your profession?Computer science.Oh? Is that a science?Sure, it is the science of infor-

mation processes and their inter-actions with the world.

I’ll accept that what you do is tech-nology; but not science. Science dealswith fundamental laws ofnature. Computers are man-made. Their principles comefrom other fields such as physicsand electronics engineering.

Hold on. There are manynatural information processes.Computers are tools to imple-ment, study, and predict them.In the U.S. alone, nearly 200academic departments recognizethis; some have been granting CSdegrees for 40 years.

They all partake of a mass delu-sion. The pioneers of your field gen-uinely believed in the 1950s thattheir new field was science. Theywere mistaken. There is no computerscience. Computer art, yes. Com-puter technology, yes. But no science.The modern term, InformationTechnology, is closer to the truth.

I don’t accept your statementsabout my field and my degree.Do you mind if we take a closerlook? Let’s examine the accepted

criteria for science and see howcomputing stacks up.

I’m listening.

Common Understandingsof Science

Our field was called com-puter science from itsbeginnings in the 1950s.

Over the next four decades, weaccumulated a set of principlesthat extended beyond its originalmathematical foundations to

include computational science,systems, engineering, and design.The 1989 report, Computing as aDiscipline, defined the field as:

“The discipline of computingis the systematic study of algo-

rithmic processes that describeand transform information:

their theory, analysis,design, efficiency, imple-mentation, and applica-tion. The fundamentalquestion underlying all ofcomputing is, ‘What canbe (efficiently) auto-mated?’” [3, p. 12]

Science, engineering,and mathematics com-bine into a unique and

potent blend in our field.Some of our activities are

primarily science—for example,experimental algorithms, experi-mental computer science, andcomputational science. Some areprimarily engineering—for exam-ple, design, development, soft-ware engineering, and computerengineering. Some are primarilymathematics—for example, com-putational complexity, mathe-matical software, and numericalanalysis. But most are combina-tions. All three sets of activitiesJA

SON

SC

HN

EID

ER

The Profession of IT Peter J. Denning

Is Computer Science Science?Computer science meets every criterion for being a science, but it has a self-inflicted credibility problem.

Page 2: Figuring out Computer Science

28 April 2005/Vol. 48, No. 4 COMMUNICATIONS OF THE ACM

draw on the same fundamentalprinciples. In 1989, we used theterm “computing” instead of“computer science, mathematics,and engineering.” Today, com-puting science, engineering,mathematics, art, and all theircombinations are grouped underthe heading “computer science.”

The scientificparadigm, whichdates back toFrancis Bacon, isthe process offorming hypothe-ses and testingthem throughexperiments; successful hypothesesbecome models that explain andpredict phenomena in the world.Computing science follows thisparadigm in studying informationprocesses. The European synonymfor computer science—informat-ics—more clearly suggests thefield is about informationprocesses, not computers.

The lexicographers offer twoadditional distinctions. One isbetween pure and applied science;pure science focuses on knowl-edge for its own sake and appliedfocuses on knowledge of demon-strable utility. The other isbetween inexact (qualitative) andexact (quantitative) science; exact

science deals with prediction andverification by observation, mea-surement, and experiment.

Computing research is rifewith examples of the scientificparadigm. Cognition researchers,for example, hypothesize thatmuch intelligent behavior is theresult of information processes in

brains and ner-vous systems;they build systems thatimplementhypothesizedinformationprocesses andcompare themwith the realthing. The com-

puters in these studies are tools totest the hypothesis; successful sys-tems can be deployed immedi-ately. Software engineeringresearchers hypothesize modelsfor how programming is doneand how defects arise; throughtesting they seek to understandwhich models work well and howto use them to create better pro-grams with fewer defects. Experi-mental algorithmicists study theperformance of real algorithms onreal data sets and formulate mod-els to predict their time and stor-age requirements; they may one

day produce a more accurate the-ory than Big-O-Calculus andinclude a theory of locality. Thenascent Human-Computer Inter-action (HCI) field is examiningthe ways in which human infor-mation processes interact withautomated processes.

By these definitions, computingqualifies as an exact science. Itstudies information processes,which occur naturally in the physi-cal world; computer scientists workwith an accepted, systematizedbody of knowledge; much com-puter science is applied; and com-puter science is used for predictionand verification.

The objection that computingis not a science because it studiesman-made objects (technologies)is a red herring. Computer sci-ence studies informationprocesses both artificial and nat-ural. It helps other fields studytheirs too. Physicists explain par-ticle behavior with quantuminformation processes—some ofwhich, like entanglement, arequite strange—and verify theirtheories with computer simula-tion experiments. Bioinformati-cians explain DNA as encodedbiological information and studyhow transcription enzymes readand act on it; computer models

The Profession of IT

The objection that computing is not a science because it studies man-made objects (technologies) is a red herring. Computer sciencestudies information processes both artificial and natural.

Science

principles

fundamental recurrences

explanation

discovery

analysis

dissection

Art

practice

skilled performance

action

invention

synthesis

construction

Table 1. Science vs. art.

Page 3: Figuring out Computer Science

of these processes help customizetherapies to individual patients.Pharmaceutical and materials labscreate man-made moleculesthrough computer simulations ofthe information processes under-lying chemical compositions.

To help define the boundariesof science, lexicographers alsocontrast science with art. Artrefers to the useful practices of afield, not to drawings or sculp-tures. Table 1 lists some termsthat are often associated with sci-ence and with art. Programming,design, software and hardwareengineering, building and validat-ing models, and building userinterfaces are all “computingarts.” If aesthetics is added, thecomputing arts extend to graph-ics, layout, drawings, photogra-phy, animation, music, games,and entertainment. All this com-puting art complements andenriches the science.

Science in ActionIn his remarkable book about theworkings of science, Science inAction, the philosopher BrunoLatour brings a note of caution tothe distinction between scienceand art [7]. Everything discussedin this column (a systematizedbody of knowledge, ability tomake predictions, validation ofmodels), is part of what he callsready-made-science, science that isready to be used and applied, sci-ence that is ready to support art.Much science-in-the-makingappears as art until it becomes set-tled science.

Latour defines science-in-the-

making as the processes by whichscientific facts are proposed,argued, and accepted. A newproposition is argued and studiedin publications, conferences, let-ters, email correspondence, discus-sions, debates, practice, andrepeated experiments. It becomesa “fact” only after it wins manyallies among scientists and othersusing it. To win allies, a proposi-tion must be independently veri-fied by multiple observations andthere must be no counterexam-ples. Latour sees science-in-the-making as a messy, political,human process, fraught with emo-tion and occasional polemics. Thescientific literature bears him out.

Everything Latour says is consis-tent with the time-honored defini-tion of the science paradigm. Aftersufficient time and validation, amodel becomes part of the scien-tific body of knowledge.

Internal DisagreementComputer scientists do not allagree whether computer science isscience. Their judgment on thisquestion seems to depend uponin which tradition they grew up.Hal Abelson and Gerry Sussman,who identify with the mathemati-cal and engineering traditions ofcomputing, said, “Computer sci-ence is not a science, and its ulti-mate significance has little to dowith computers” [1]. Theybelieve that the ultimate signifi-cance is with notations forexpressing computations. EdsgerDijkstra, a mathematician whobuilt exquisite software, fre-quently argued the same point,

although he also believed com-puting is a mathematical science.Walter Tichy, an experimentalistand accomplished softwarebuilder, argues that computer sci-ence is science [12]. David Par-nas, an engineer, argues that thesoftware part of computer scienceis really engineering [10]. I myselfhave practiced in all three tradi-tions of our field and do not seesharp boundaries.

Even the Computer Scienceand Technology Board of theNational Research Council is notconsistent. In 1994, a panelargued that experimental com-puter science is an essential aspectof the field [9]. In 2004, anotherpanel discussed the accomplish-ments of computer scienceresearch; aside from commentsabout abstraction in models, theysay hardly a word about theexperimental tradition [8].

Paul Graham, a prominentmember of the generation whogrew up with computers,invented the Yahoo! store andearly techniques for spam filters;he identifies with computing art.He says: “I never liked the term‘computer science’. … Computerscience is a grab bag of tenuouslyrelated areas thrown together byan accident of history, likeYugoslavia. … Perhaps one day‘computer science’ will, likeYugoslavia, get broken up into itscomponent parts. That might bea good thing. Especially if itmeans independence for mynative land, hacking” [5, p. 18].He is not arguing against com-puter science, but for an appella-

COMMUNICATIONS OF THE ACM April 2005/Vol. 48, No. 4 29

Page 4: Figuring out Computer Science

30 April 2005/Vol. 48, No. 4 COMMUNICATIONS OF THE ACM

tion like computer artthat is more attractive tohackers (his term forelite programmers).

Dana Gardner, of theYankee Group, does notlike this notion. Hecompares the currentstate of software devel-opment to the pre-industrial Renaissance,when wealthy benefac-tors commissionedgroups of highly trainedartisans for single greatworks of art [4]. Hesays, “Business peopleare working much closerto the realm of HenryFord, where they arelooking for reuse, interchangeableparts, automated processes,highly industrialized assemblylines.”

OK, so computing has much artand its own science, although someof your people are not sure aboutthe science. However, does computerscience have depth? Are there fun-damental principles that are non-obvious to those who do notunderstand the science? Who wouldhave thought that the speed of lightis the same for all observers untilEinstein postulated relativity? Orthat particles ride probability wavesuntil Schroedinger postulated quan-tum mechanics? Is there anythinglike this in computer science?

Can Computer Science Surprise?Table 2 lists six major categoriesof computing principles alongwith examples of important dis-coveries that are not obvious toamateurs [2]. By exploiting theseprinciples, professionals are ableto solve problems that amateurswould find truly baffling.

OK. I’m finding this compelling.But I still have a concern. Is itworth investing either my time orR&D dollars in computer science?In his 1996 book, The End of Sci-ence, journalist John Horganargues that most scientific fields

have saturated. They havediscovered most of theirbasic principles and newdiscoveries are less and lessfrequent. Why is computerscience different? Once thecurrent round of com-puter-science-in-the-mak-ing settles out, andassuming the hackers don’tsecede, will computer sci-ence die out?

Computer ScienceThrives on RelationshipsHorgan argued in 1996that new scientific discov-eries require masteringever-greater amounts of

complexity. In 2004 he repeatedhis main conclusion: “Science willnever again yield revelations asmonumental as the theory of evo-lution, general relativity, quantummechanics, the big bang theory,DNA-based genetics. ... Some far-fetched goals of applied science—such as immortality, superluminalspaceships, and superintelligentmachines—may forever elude us”[6, p. 42].

Has computer science alreadymade all the big discoveries it’sgoing to? Is incremental progressall that remains? Has computerscience bubbled up at the end ofthe historical era of science?

I think not. Horgan argues

Area

Computation

Communication

Interaction

Recollection

Automation

Design

Problem

• Unbounded error accumulation on finite machines• Non-computability of some important problems• Intractability of thousands of common problems• Optimal algorithms for some common problems• Production quality compilers

• Lossless file compression• Lossy but high-fidelity audio and video compression• Error correction codes for high, bursty noise channels• Secure cryptographic key exchange in open networks

• Arbitration problem• Timing-dependent (race-conditioned) bug problem• Deadlock problem• Fast algorithms for predicting throughput and response time• Internet protocols• Cryptographic authentication protocols

• Locality• Thrashing• Search• Two-level mapping for access to shared objects

• Simulations of focused cognitive tasks• Limits on expert systems• Reverse Turing tests

• Objects and information hiding• Levels• Throughput and response time prediction networks of servers

Table 2. Some non-obvious problemssolved by computing principles.

The Profession of IT

Computer scientists do not all agree whether computer science is science. Their judgment on this question seems to depend upon in which tradition they grew up.

Page 5: Figuring out Computer Science

that the number of scientific fieldsis limited and each one is slowlybeing exhausted. But computerscience is going a different way. Itis constantly forming relationshipswith other fields; each one opensup a new field. Paul Rosenbloomhas put this eloquently in hisrecent analysis of computer sci-ence and engineering [11].

Rosenbloom charts the historyof computer science by its rela-tionships with the physical, life,and social sciences. With eachone computer science has openednew fields by implementing,interacting, and embedding withthose fields. Examples includeautonomic systems, bioinformat-ics, biometrics, biosensors, cogni-tive prostheses, cognitive science,cyborgs, DNA computing,immersive computing, neuralcomputing, and quantum com-puting. Rosenbloom believes thatthe constant birth and richness ofnew relationships guarantees abright future for the field.

All right, I’ll accept that. Youhave science, you have art, you cansurprise, and you have a future.But you also have a credibilityproblem. In the 1960s your peopleclaimed they would soon buildartificially intelligent systems thatwould rival human experts andmake new scientific discoveries. Inthe 1970s they claimed that theywould soon be able to systematicallyproduce reliable, dependable, safe,and secure software systems. In the1980s it was the disappearance ofpaper, universities, libraries, andcommuting. None of these thingshappened. In the 1990s you con-

tributed to the Internet boom andthen crashed with the dot-com bust.Now you’re making all sorts ofclaims about secure systems, spam-blocking, collaboration, enterprisesystems, DNA design, bionics, nan-otechnology, and more. Why shouldI believe you?

Validating Computer Science ClaimsThere you have us. We haveallowed the hype of advertisingdepartments to infiltrate our lab-oratories. In a sample of 400computer science papers pub-lished before 1995, Walter Tichyfound that approximately 50% ofthose proposing models orhypotheses did not test them[12]. In other fields of science thefraction of papers with untestedhypotheses was about 10%. Tichyconcluded that our failure to testmore allowed many unsoundideas to be tried in practice andlowered the credibility of ourfield as a science. The relativeyouth of our field—barely 60years old—does not explain thelow rate of testing. Three genera-tions seems sufficient time forcomputer scientists to establishthat their principles are solid.

The perception of our fieldseems to be a generational issue.The older members tend to iden-tify with one of the three roots ofthe field—science, engineering, ormathematics. The science para-digm is largely invisible withinthe other two groups.

The younger generation, muchless awed than the older one oncewas with new computing tech-

nologies, is more open to criticalthinking. Computer science hasalways been part of their world;they do not question its validity.In their research, they are increas-ingly following the science para-digm. Tichy told me that therecent research literature shows amarked increase in testing.

The science paradigm has notbeen part of the mainstream per-ception of computer science. Butsoon it will be.

References1. Abelson, H.G. and Sussman, G.J. Structure

and Interpretation of Computer Programs, 2nded. MIT Press, 1996.

2. Denning, P. Great principles of computing.Commun. ACM 46, 10 (Nov. 2003), 15–20.

3. Denning, P. et al. Computing as a discipline.Commun. ACM 32, 1 (Jan. 1989), 9–23.

4. Ericson, J. The psychology of service-ori-ented architecture. Portals Magazine (Aug.2004); www.portalsmag.com/articles/default.asp?ArticleID=5872.

5. Graham, P. Hackers and Painters: Big Ideasfrom the Computer Age. O’Reilly and Associ-ates, 2004.

6. Horgan, J. The end of science revisited. IEEEComputer (Jan. 2004), 37–43.

7. Latour, B. Science in Action. Harvard Univer-sity Press, 1987.

8. National Research Council. Computer Sci-ence: Reflections on the Field, Reflections fromthe Field. National Academy Press, 2004.

9. National Research Council. Academic Careersfor Experimental Computer Scientists andEngineers. National Academy Press, 1994.

10. Parnas, D. Software engineering: An uncon-summated marriage. Commun. ACM 40, 9(Sept. 1997), 128.

11. Rosenbloom, P. A new framework for com-puter science and engineering. IEEE Com-puter (Nov. 2004), 31–36.

12. Tichy, W. Should computer scientists experi-ment more. IEEE Computer (May 1998), 32–40.

Peter J. Denning ([email protected]) is the director of the Cebrowski Institute forinformation innovation and superiority at theNaval Postgraduate School in Monterey, CA,and is a past president of ACM.

© 2005 ACM 0002-0782/05/0400 $5.00

c

COMMUNICATIONS OF THE ACM April 2005/Vol. 48, No. 4 31