I just found this “invited blog” on Scientific American’s website and I thought it was interesting for a couple of reasons, though in the end I think it’s of more use for the discussion it starts than for what it says.
Basically, it argues that computer science should be part of philosophy because it argues logic forward without any real experiments, repeatability or the like. Unfortunately the conclusions seem to drawn from some really, really crappy examples.
I agree that computer science is not really pure, or even applied, mathematics, it’s not really engineering because we think very differently than engineers do and it’s certainly not a traditional science with hypotheses and the like. I might even grant that the formal logic from philosophy translates well into a lot of computer science, but to say that we don’t do experiments to confirm things is a bit wrong.
As a PhD student in systems and networks the only thing that matters in the end is the experiment and even when I make systems that claim they are “easier to use”, I’ve run studies with users to show how easy they were to use. My friends that work on usable computing and HCI all run studies to show that what they’re doing is actually better. My friends in AI/machine learning run experiments to see how well their algorithms work in extracting knowledge from the web.
In fact, the only people I know who are computer science PhD students whose work doesn’t revolve around the experiment are the theoreticians who really are mathematicians by most accounts.
Admittedly, our experiments are still somewhat crude and we haven’t mastered exactly how to do repeatable experiments every time and our measure of statistical significance is often “this line is higher than that line”, but nonetheless we are much more hypothesis-test driven than the blog makes it out.