Wednesday, October 10, 2007

Is Computer Science a Science?

Is Mathematics a Science? Is Computer Science a Science (hmmm- it has to be, its in the name :-) )? Is Richard Stallman a computer scientist? How about Bill Gates? How about my wife who has a job programming? For a serious discussion of some of these issues see an blog of Lance's For a less serious discussion, I offer the following thoughts.
  1. Calling something science, engineering, art, or business is not an insult or a compliment.
  2. A topic is a science if it has a lab where there is the potential for danger. Physics has radiation, Chemistry has explotions, Biology has germs. So they are sciences. Neither Math nor Computer Science has those.
  3. Hence, asking if Richard Stallman is a computer scientist is not really a question. So perhaps we need a different term. `Computer Programmer' is a fine term and we know what it means. How about if we call ourselves `Computer non-programmers'? Depends if you consider LaTeX a programming language (it is Turing-Complete).


  1. Is LaTeX seriously Turing complete? because that is the closest i get to knowing a language. also, i dont like the idea that science involves a lab with danger... i consider theoretical physics to be a science, and i find (and hope) it unlikely that it will ever directly lead to a dangerous environment.

  2. cody says:

    i consider theoretical physics to be a science, and i find (and hope) it unlikely that it will ever directly lead to a dangerous environment.

    can you say "nucular weapons"?

  3. Computer viruses aren't dangerous?

  4. Why does it matter so much what you call things?

    Such categorizations take away your freedom, because people can then dismiss your work for not being so and so.

    Why not have more faith in your peers' ability to determine whether something is worthwhile irrespective of any categorizations?

  5. It seems to me that an academic subject is a science if it is studying the natural world. Hence, some areas of computer science are clearly not science -- they are engineering, such as systems and network design. (If a field has science in its name, its a bad sign... Political science, but not chemistry science). Whether theoretical computer science is 'science' or not depends on whether you believe that the universe is fundamentally a computational entity. If it is, then perhaps theoretical computer science is computation-physics. If not, its just mathematics.

  6. Can we just say that Stallman, Gates, your wife, etc. are not researchers? I think this is what most of us mean when we talk about someone being a "computer scientist".

  7. Astronomy?

    Now days, rockets I guess, but it has not always been so.

    I suppose a telescope could break and fall on you, but computers use electricity as well, so that wouldn't count.

    Anyway, engineers use really dangerous stuff all the time. A research chemist and a chemical engineer may have the exact same equipment in their labs. It's what they do with it that counts.

  8. There are plenty of instances where bad software has hurt, maimed and even killed people. The problem is that it is not treated more like a science with rigor. Instead anyone armed with a how to book and a laptop can build their own accelerator and fire it up.

  9. I like comment #5, but I propose a slightly different criteria:

    Science comprises of two necessary ingredients:

    1. It's a process aimed at understanding things (e.g., physical phenomena, inherent computational limitations).

    2. Science follows some well-acknowledged rigorous discipline.

    1. System research, as well as electrical engineering, is not a science, as it is not aimed at understanding things, but its overall goal is to develop practical means.

    2. Philosophy is not a science, as it does not have rigorous discipline to it, although it aims at understanding things.

  10. Is political science a science? It has "science" in the title... How about scientology? [Point: I don't having science is a sufficient property. Nor is it necessary, as all old sciences illustrate.]


  12. >It seems to me that an academic >subject is a science if it is >studying the natural world.

    While this is a common viewpoint, Herb Simon, in _Sciences of the Artificial_ wrote some great stuff about the idea that studying human-made phenomena (computer systems, human-altered ecosystems, educational materials) involves or should involve many of the same scientific principles as natural sciences.

    Besides, if science needs to have the natural world as its referent, what about fields of study which involve both the natural and the artificial? -- i.e. the built environment, human-computer interaction, etc.

  13. The downfall continues...the entries in this blog are more or less monotonically increasing in vapidity.

  14. You know, Anon 13, have you ever heard that phrase, "If you aren't part of the solution, you're part of the problem"? I personally much prefer this blog to Shtetl-Optimized because I am more interested in learning about science than I am in wild speculation. Certainly there are very interesting things on other blogs -- I nominated one of S. Aaronson's posts for a recent Carnival of Mathematics and it was featured -- but I could not care less about biting vaginas or a selfish gene's predisposition to rape.

    If you think things are vapid here, post something of substance and import... and look somewhere else if you want "sexy" confrontation.

  15. That Wikipedia definition of science seems spot on. CS is a mix of formal science, natural science, social science, and applied science.

    CS is certainly not just an applied science as others have suggested. There was a fundamental scientific focus in CS from the start. One early focus was the AI Hypothesis that "intelligent" behavior can be produced by algorithmic means. A difficulty in getting this question right is that the social science question: "what is intelligence?" does not have an easy answer.

    More recently, as in Bernard Chazelle's "Computer Science as a Lens on Science" we have the Algorithmic Hypothesis, that algorithmic models are the appropriate models for all complex natural phenomena, not just for intelligence. This algorithmic thinking has naturally produced a large overlap between CS and subjects that are unquestionably natural science subjects, from neurobiology to genetics to quantum physics.

  16. "A topic is a science if it has explosions" is like saying that a person is a scientist if and only if she wears a white lab coat. For one this definition fails for astronomy, which last we checked there is no question is a science.

    The Wikipedia definition is more aware of the nuances of what is and isn´t a science. The insights of the differences between formal and natural science are interesting, though they fail to acknolwedge that "formal" sciences such as mathematics, computer science and theoretical physics are, at the end of the day, tested against our real world experience.

    To wit, say if today it was discovered that 4 apples plus 3 apples were in fact equal to 9 apples instead of seven as formally predicted, one can rest assured that the axioms of arithmetic would be readily replaced by ones reflecting this change. In no time classical arithmetic and subjects derived from it (number theory) would wane in importance while the new quadritrinonal arithmetic would demand great attention.

    To use a more realistic example, if this quantum computing thing turns out to exist in practice, you can bet that classical algorithms would suddenly be a much smaller field in terms of importance within CS. If computer science were truly a formal science this wouldn´t be the case.

  17. i can evenspell "nuclear weapons"; in my defense, claiming theoretical physics is a dangerous profession because of nuclear weapons is like saying architecture is dangerous because construction is dangerous, or building failure is dangerous.

    in this debate over science, i find Richard Feynman's thoughts on the subject to be most agreeable and to sum up my own view better than i ever could. they can be found here.

  18. Like the centipede in Feynman´s story, most scientists can lead a very successful career without ever fully crystallizing what science is. This shouldn´t be surprising at all. We do not need to have a sharp, airtight definition of what a car is to drive one.

    This explains the difficulty most scientist have, including Feynman in comming up with a definition and famous philosophers have spent entire careers studying this subject.

    In terms of the discussion above, observing that science "requires" experiments is at the same level of intellectual sophistication as indicating that a car must include a "steering wheel". A few seconds thought in the latter example would indicate that a car requires a steering mechanism of some sort, but not a wheel per se.

    Similarly science requires criteria to ascertain validaty and truth as observed most notably by Popper, Kuhn and Lakatos, the question is if these criteria have to take place in a lab as suggested by Bill. This is clearly not so as illustrated by the examples of astronomy and paleontology given above.

    A second question is if the validation criteria have to be connected to the real world for the collection of knowledge to be a science, and if the answer is yes, do computer science and/or mathematics describe the real world (and attempt to do so) strongly enough to meet the definition of science.

    Lastly, just like a car is not just a steering mechanim alone, the entire discussion above skips over the fact if there may be other requirements of a discipline to become a science. Is science a human endeavour or does it exist on its own? is science a collection of facts, a way of doing things or both?

    Or given that almost nobody in the lab follows the scientific method as taught in high school does it mean it has no relevance in what science is, or is the possibility of recourse to the scientific method, shall a controversy arise key to what science is?

    If science is defined by connection to the real world then why is it controversial to call areas of knowledge that investigate human behaviour such as anthropology and economics?

    Alex Lopez-Ortiz

  19. To Aaron Sterling: the line between science and wild speculation is thinner than you think.

    In fact, computer science could be defined as the field in which Scott Aaronson has put enough work to back up his wild speculations with solid evidence.

  20. is it possible to be both "wild speculation" and "backed by solid evidence" simultaneously?

    also, in this debate over what science is, i think it is better rephrased in terms of what do you think of science as? clearly there is variability in our personal definitions. i am well willing to sacrifice aspects of my own personal definition for a widely accepted standard.

  21. if this quantum computing thing turns out to exist in practice, you can bet that classical algorithms would suddenly be a much smaller field in terms of importance within CS

    That's literally true, in the sense that it's a zero-sum game (if quantum algorithms become more important, something else has to give). However, it would likely take a long time for this effect to become large, and quantum algorithms might well never become as important as classical algorithms.

    The evidence is that 13 years post-Shor, there are very few useful quantum algorithms known today. Quantum crypto is great but irrelevant (it does not require or benefit from a full-fledged quantum computer). There are a lot of algorithms relevant to number theory and crypto; these would have a big influence on what sorts of crypto get used, but frankly they're not something ordinary people will ever actually run. Quantum computers are great at simulating quantum physics, which is of great importance for scientific computation but of little everyday importance. Finally, there's a small family of relatives of Grover's algorithm for rapid sorting. These last ones may be tremendously important if a real quantum computer is ever built, but they aren't going to be a huge field.

    By contrast, classical algorithms is a vast field with many fundamental applications. Its importance will not fade unless quantum computers offer compelling advantages in lots of different areas (which may happen but may not).

    Perhaps a working quantum computer will give the field of quantum algorithms a huge impetus, which will lead to many new developments. I doubt it: essentially all existing quantum algorithms amount to clever tricks using Fourier transforms, and there's probably only so much that can be done using these ideas.

    I don't want to sound like I'm dissing quantum computing. For example, there have been a lot of exceedingly important theoretical developments in quantum information theory and coding and fault-tolerant computing. Plus the existing quantum algorithms are amazing. They just aren't comparable in scope to classical algorithms and may never catch up.

  22. If you use the most common Euro term for our field: Informatik, informatique, informa'tica, informatsiya, informasiya, informatika, informatyka,... then you worry less about whether it is a "science". Alas "informatics" in the US usually seems to refer to applied information technology, as in medical informatics.

    Of course, one cannot blanket the field here: however one defines "CS" and "science", some elements of CS are bound to be "science" and others are not. In trying to coalesce my feelings about certain examples into a general criterion, I came up with this:

    If you can program a machine to carry out feasibly the entire process of discovering what you wish to know, then it isn't science.

    Mind you, this shamelessly anthropomorphizes while flying in the face of Turing's strong-AI hypothesis, but that's why I like it. Under certain conditions I'll take its inverse (change "can" to "cannot" and "isn't" to "is") as a positive criterion for something to be science, albeit negatively stated. And if you humanly accomplish what could be programmed but likely only infeasibly, then it is art, maybe high art! For instance:

    (1) Some circuit-design tasks strike me as finite puzzles that are neither art nor science.

    (2) But coping with greater thermal error and atom-scale fluctuations as VLSI components hit unit-nanoscale is certainly science. It has direct involvement with the physical world, and are the relevant experiments feasibly programmably completely automatable? I think not...

    (3) For quantum circuits, right now I don't know whether all single-qubit gates leave unchanged the geometric degree of an algebraic variety resulting from my own tweak of the polynomial solution-counting method used to prove BQP in PP. If it's a mathematical theorem, even an easy one, it's still science as I don't see a feasible way to tell a computer to go prove it. And it too may say something about the physical world.

    (4) Right now I've been engaged in trying to prove that now-former chess World Champion Vladimir Kramnik missed a win as White in the endgame featured in this item in the game's foremost blog, whose compliment to me came out-of-the-blue and with the force of a command performance! I can justify it professionally along line of: if "Chess is the Drosophila of AI", then this is the same for Automated Theorem Proving (except that with buggy chess programs and weird drawing cases and all the branching complexity, it's no fruit fly but a big nasty wasp:). Moreover I've found more cases where the subset-sum hashing schemes employed by the programs blip out, besides the one I framed my Complexity'07 open-session talk around, and that too is science. But the analysis task itself is "merely art" (or engineering?)---insofar as my chess skill at playing good moves for White and ordering the defensive tries for Black makes the task feasible. But the program to automate the task already exists and could find everything I'm discovering by itself, if enough time and memory could be given.

    The STOC'07 paper by Jin-Yi Cai and his student Pinyan Lu seems to give a relevant opinion in its title: "Holographic Algorithms: From Art to Science." I take the title to mean that they gave a Mersenne-prime-based explanation for Valiant's "accidental" discovery that a certain planar subcase of #SAT-mod-7 is in P, whereas the same case mod-2 is NP-hard under randomized reductions. Valiant's discovery came from a finite set of polynomial equations having a nifty property, one-off like a finite "circuit puzzle" in my item (1), hence said to be "art" (at most). But their extension to classifying general cases where the idea holds makes it a "science". I guess that aligns with what I'm saying... (Note also the relation to Bill's current mod-17 item.:-)

  23. There is a paper recently published on "insights in how computer science can be a science" which is related to this discussion here. The paper is published in an open access journal called Science & Philosophy.