Thursday, September 18, 2003

Is Computer Science a Science?

Generally, I think that any field that feels it must append the word "science" to its name must not be an actual science -- political science, social science, cosmetic science, etc. You don't study "chemistry science" or "physics science," you study "chemistry" and "physics." (This is, btw, another reason why my alma mater is a great school, because the name of the department there is "politics," not "political science.") Under this defintion, computer science probably isn't one.

More seriously, computer science is very different from the natural sciences (it's okay for a group of sciences to have "science" after their name). Computer science is what Herbert Simon calls a Science of the Artificial. It deals with creating artifacts that embody human intention. Natural sciences, in contrast, have no place for intention; they are about inferring the real functioning of reality. Computer science and other design fields (engineering, organizational design, etc.) need not match their theory to an objective reality, they must match their theory with its ability to satisfy human demands.

But Simon goes further. Chemical engineering is a design field, concerned with how one creates a system to process or produce chemicals, roughly. It has a close relationship, obviously, with the natural science of chemistry. But as chemistry is to chemical engineering, what is to other design fields? And is there a science of design? Simon says yes (this is the "science of the artificial" of the title). But it seems to me that, of all the design fields, computer science is the closest to what Simon calls a science of design. It's not just how to construct an algorithm that will embody the intention of the programmer; it's very much about analyzing the process of the creation of the algorithm, of not just measuring the success of the algorithm but studying the act of measurement. Not just how to write good programs, but the science of why some programs are better.

I'm surprised to be writing these words; for years, I've felt that computer science, as implied by the defensive name, isn't actually a science. But reading Simon has made me realize that a science of the artificial is still a science. Whoopie! Stand back, I'm a scientist!