Is computer science really science?

A close friend of mine is a hardworking computer scientist. I have enjoyed and been inspired by his dedication to research regarding the animation of cloth. However, he has clued me into a strange aspect of computer science: computer science research papers deliberately avoid publishing key equations and code, forcing others who attempt to reproduce their experiments to figure out the basic code structure from scratch.

One might contend that this is no different from a chemistry research publication leaving out descriptions of routine chemistry methodologies, such as using piston-driven pipettes to make precise measurements. Thus, it appears reasonable that research papers are written for an audience of trained professionals who are familiar with the conventions of their profession.

However, the conventions of computer programing are not uniform enough to justify the parallel between physical science methodology and programming methodology. The various tricks and chunks of code that programers use to perform routine tasks like Fast Fourier transformation or Euler's method of solving ordinary differential equations can have profound effects of the outcomes of the program.

A central purpose for reporting scientific research is to contribute to the development of scientific knowledge. We tirelessly scrutinize research and perform published experiments step by step to look for flaws, or reproduce similar results that provide support for the validity of emerging theories. By making this process more difficult, computer science research papers deliberately discount the importance of the scientific practice of experimental reproduction.

Science cannot move forward without experimental reproduction. If we did not thrive to reproduce research, scientists like South Korea's Hwang Woo-suk, who gained notoriety for fabricating his results of successful human cloning, would never get discovered. It is simply not enough that computer programing research might "speak for itself" if the secret code works. The McDonnalds "secret sauce" seems to work well at accomplishing its goals, but its development clearly does not fall in the domain of science. If computer science wants to remain in the domain of science, it must begin adhering to the conventions of the scientific method.

It seems that a major aspect of computer science's secrecy is its commercial link. Many video game companies hire young programmers to develop revolutionary code, and the programmers publish the bare minimum amount of information about their theories to keep a competitive edge. If this is the world of computer science, so be it, but can we use a different word? Science is more than just that which pertains to research and technology, and allowing a scientific discipline to run amuck gives a poor impression of the true merits of scientific research.

Published on April 17, 2009

> Is computer science really science?