Article View: sci.logic
Article #332Re: What is Computer Science (was: Natural Kinds)
From: Vaughan R. Pratt
Date: Mon, 09 Nov 1992 22:45
Date: Mon, 09 Nov 1992 22:45
199 lines
11909 bytes
11909 bytes
In article <BxGBsJ.8qG@unx.sas.com> sasghm@theseus.unx.sas.com (Gary Merrill) writes: > >In article <1992Nov9.005241.29492@CSD-NewsHost.Stanford.EDU>, pratt@Sunburn.Stanford.EDU (Vaughan R. Pratt) writes: > >|> To me computer science is about four interactions: information and >|> time, computation and communication, models and reality, and >|> perspective and users. Discreteness is neither emphasized nor >|> deemphasized in this view, the integers and the reals are both >|> important in CS. > >Your view of CS is a coherent one, but I'm not sure >how widely received it would be. Simply as a matter of your >own personal opinion, do you think this view is widely shared >(in both academia and industry), or do you offer it rather along >the lines of "What CS *should* be"? It is my capsule definition of CS *today*, based on my experience in academia (Sydney, Berkeley, MIT, Stanford) and industry (Sun, summers at IBM), starting with the noughts-and-crosses-playing computer I built in 1962 at Sydney. I took into account a lot of different CS research going on at all these places, and at other places such as CMU, Cornell, Penn, Texas, UCLA, Columbia, Edinburgh, Xerox, DEC, HP, Sun, etc., before coming up with my admittedly idiosyncratic classification of the field. I have attempted to exclude my personal biases from this view, more on this below. My definition is intended to cover the bulk of CS research without being so broad and vague as to become indistinguishable from physics, math, biology, economics, etc. There is no way to do this without overlapping at least somewhat with these subjects, just as physics overlaps with engineering, chemistry, etc. Rather I wanted to express what it was that CS tended to emphasize. One might simply say that the emphasis of computer science is computation, but that is surely too narrow: at the very least one should add communication. But as you add topics you start to imply the exclusion of others such as computer-human interfaces (covered in my classification along with other related topics under "perspective and users"). The four basic interactions, which I see as respectively the "physics," "chemistry," "sociology," and "psychology" of CS, are my best attempt to include most of CS, exclude most of non-CS, yet retain a catchy succinctness. What other definitions are there? The most recent substantive perspective on computer science and engineering as a whole is the 264-page "Computing the Future" report, available for $24.95 by calling 1-800-624-6242. I hope to get this soon (just ordered it, they'd run out when I asked a month ago), and when I've read it I will communicate my views on it to the committee. Meanwhile I've read the summary in the current (Nov.92) issue of CACM. It gives seven recommendations made by a 16-person committee chaired by Juris Hartmanis. Recommendation 1 endorses HPCC (the High Performance Computing and Communication program), 2 calls for more interdisciplinary research, 3 invites academics down from their ivory tower, 4 argues for infrastructure, 5 for education of computer-dependent non-CS&E faculty, 6 for a more royal road to technology transfer, and 7 for "outreach" (a worthy successor to "affirmative action"). A positive feature of the report was its choice of name for the field, CS&E (computer science and engineering). I like Information Technology even better, but CS&E is definitely more representative than CS and does emphasize the science component a bit better than IT. However to judge from the summary the report makes no discernible contribution to the problem of *defining* CS&E. Its emphasis rather is that implied by its recommendations, along with such statements as that found at the bottom of the second column of the summary: "Assumptions of the 1940s and 1950s regarding the positive social utility of basic research (i.e., research without foreseeable application) are being questioned increasingly by the federal government, and justifications for research may well in the future require concrete demonstrations of positive benefit to the nation." By choosing not to make a recommendation against this trend the committee has tacitly endorsed the concept that all of us doing basic research are in it just for the pleasure of pure research. This is a gross misrepresentation of the goals of a great many people doing basic CS&E research, who feel that a better understanding of the principles of CS&E will prove of inestimable benefit to the future designers, builders, users, and maintainers of information processing systems. CTF's recommendations are those one might expect from a committee of CEO's and magazine editors, who are at one end of a spectrum that has the researchers at the other and the contract monitors in the middle. The social end tends to have its finger on the pulse of world affairs; for them worldly concerns are a perfectly understandable preoccupation. One does not however look to such people for a definition of CS. There are academics on the committee, but there is little sign of their influence in the summary. Recommendation without definition is a recipe for failure. This is not intended as a rejection of these recommendations, and I do not take my colleague John McCarthy's side in asking the committee to withdraw their report for reconsideration. Whatever its flaws, getting the report out for a public airing is far more beneficial at this point than making the committee continue to stew over it until the protesters are satisfied. Moreover I am very strongly for recommendation 2, for example, and have no good cause to argue against strongly against any of the other recommendations, with the following exception. I said earlier that I tried to exclude my biases, at least those of which I was conscious. Just to illustrate this, one such (hopefully) excluded bias is my strong belief that by far the biggest crisis in computing today is *not* the cycle shortage the HPCC program is predicated on but the inaccessibility of the *existing* cycles. I began to feel this around 1975, and over the next three years my research emphasis shifted from design and analysis of algorithms to software theory, where I remain today (some very pleasant excursions notwithstanding). The scale of the contemplated HPCC funding, $3.7 billion over four years, is of such an order of magnitude that almost *any* (though obviously not total) shift of research funding from performance to access would even in the quite near term have a net positive economic impact. But this is of course the biased impression of an academic with at best three years of practical industry experience, and I am wide open to counterarguments. My definition hopefully excludes this bias in not suggesting any prioritization of access over performance. Nevertheless I cannot endorse recommendation 1 at the contemplated level of HPCC funding when the committee does not directly address and explain their preferred prioritization of these two concerns. But while I would not argue *against* CTF's recommendations on the whole, I *would* argue for a more even mix of external and internal recommendations. The internal representatives on the committee have either not made their voice heard or are not speaking for their constituency. If society accepts only the CEO picture of the future of computing, information technology will have no basis for rising beyond the level of basket weaving technology. >Do you see CS as having any immediate empirical content in the >manner of physics, chemistry, biology, etc.? If so, could you >describe this a bit? (I concede that "immediate empirical >content" is not very precise, but I think we know what is >intended.) This connection was what I was attempting to cover under "models and reality". Perhaps something along the lines of "math and science" would have conveyed this more suggestively. I wanted the attachment of computers to physical actuators and sensors, as in robotics, mechanical engineering, aero engineering, etc., to be covered under this, as well as the role of computation in physics, chemistry, etc. The interaction of "math and science" is the interaction of the ideal and the real. Where the boundary of this interaction is to be drawn is one of those things that only the younger generation is certain of, but I do feel this boundary should be one of the focuses of computer science, in collaboration with the experts on both sides of this interface, math/philosophy and physics/chemistry/engineering/... This is now happening, there has been quite a surge in such collaborative efforts in recent years, in manufacturing, robotics, medicine, etc., and much more is needed along these lines. >It seems pretty clear that given your view of the >nature of CS, it really has nothing to do with actual physical >machines, but rather more properly deals with "machines" in the >logical (mathematical) sense (Turing machines, for example). Clearly CS has a *strong* interest in thinking machines, but it also should pay attention to other machines that can profitably benefit from intelligence. My own teaching experience has been confined to the former kind, which is why my 17 questions have that emphasis. This is why I said "Here are some candidate questions for the science of computation based on introductory courses I've taught recently at Stanford. Perhaps others would care to draw on their experience to add to this list." Had I the necessary expertise I would have included questions similarly testing basic principles of machine architecture, robotics, expert systems, scientific computing, etc. I suppose I could simply have posted a few recent comprehensive exams given to our students, but then it gets too long and I feel like I've lost quality control. My ideal would be 40-50 representative questions whose main purpose was to give outsiders some idea of what CS students are expected to know in breadth before they get deeply into their research. My list was perhaps a bit tough in that respect, by present standards, but I believe that reflects more our collective inability to teach this material effectively than the inherent inability of our students to learn it. A related problem is that not everyone would agree with me on just how central the material I was testing is compared to what they would want to test. >Do you wish to subsume >so-called "software engineering" under CS, or would you treat >it differently as a distinct applied discipline? Software engineering is my area, I work at the theoretical end. Logically I suppose that should make me a software scientist, but for some reason those of us working in this area have avoided this term, perhaps because software theorists associate scientists with lab coats and tube-laden equipment. A definitive textbook on the principles of software with "Software Science" as its title might give this term some respectability, but I think many of us would be more comfortable with "software theory," by analogy with "information theory." -- Vaughan Pratt
Technical Details
Message-ID:
<1992Nov9.224524.17672@CSD-NewsHost.Stanford.EDU>Path:
arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!CSD-NewsHost.Stanford.EDU!Sunburn.Stanford.EDU!prattReferences:
<1992Nov8.210316.5922@dcs.qmw.ac.uk> <1992Nov9.005241.29492@CSD-NewsHost.Stanford.EDU> <BxGBsJ.8qG@unx.sas.com>Show Full Headers
Complete Article Headers
Newsgroups: sci.logic,sci.philosophy.meta,sci.math,sci.physics Path: arc1-ca.pugleaf.net!sparky!uunet!stanford.edu!CSD-NewsHost.Stanford.EDU!Sunburn.Stanford.EDU!pratt From: pratt@Sunburn.Stanford.EDU (Vaughan R. Pratt) Subject: Re: What is Computer Science (was: Natural Kinds) Message-ID: <1992Nov9.224524.17672@CSD-NewsHost.Stanford.EDU> Sender: news@CSD-NewsHost.Stanford.EDU Organization: Computer Science Department, Stanford University. References: <1992Nov8.210316.5922@dcs.qmw.ac.uk> <1992Nov9.005241.29492@CSD-NewsHost.Stanford.EDU> <BxGBsJ.8qG@unx.sas.com> Date: Mon, 9 Nov 1992 22:45:24 GMT Lines: 199