6 comments

[ 5.0 ms ] story [ 20.3 ms ] thread
I suppose to make a claim that something isn't "x", "x" needs to be well-defined and agreed on by all. The central points of what constitutes science aren't widely debated, but maybe the more nuanced points are.

For me, I think the most powerful definition of science is this: science is the capability of prediction. If you can accurately predict something that happens at a future time or in a different place, then that's all I need to consider it science. Of course, the more powerful your prediction, the better the science it is. Predicting the stock market based on a hunch then is very poor science.

So does computer science make predictions about reality? Yes, it does. There's many algorithms describing things that will happen when run, and curiously enough, we can test these by writing a program! We can even easily reproduce these programs for other people to run.

To give an example of the more scientific nature of CS, the study of quantum computing is almost solely in the domain of computer scientists and physicists. Scott Aaronson, for example, is a computer science who has many interesting things to say about it (http://www.scottaaronson.com/blog/).

Now, the application of computer science degrees to something like a startup may be more of an engineering task. You're not necessarily predicted anything new; you're taking what has already been discovered and developing a practical application of it. I'm still somewhat conflicted as to whether I consider software engineering to be in the same category as traditional engineering disciplines; I suppose "engineering" isn't so concrete a word as "science", so your answers will vary a lot by person.

>To give an example of the more scientific nature of CS, the study of quantum computing is almost solely in the domain of computer scientists and physicists.

This is still begging the question of if quantum computing is a science. Quantom physics is clearly an area of science, as it is based around understanded the physical mechanics of the universe. Quantom computing is based on applying our knowledge of Quantom mechanics to engineer a system whose results can be used to answer some computational question.

The only part of computer science that I can confidently say falls in the domain of science is P=NP (slightly generalized). It is my understanding that everytime we have found some physical phenomena that would allow us to solve NP-Hard problems in polynomial time, the laws of physics ended up working out to require some exponential input. This is a question that seems to speak to the nature of the universe, and has predictive power.

" If you can accurately predict something that happens at a future time or in a different place, then that's all I need to consider it science."

That's an extraordinarily vast definition. I think it's so vast as to be not just "an opinion I disagree with" but something I'd happily label "incorrect".

I can read some words on a piece of paper, put that paper down, and then predict what words will be written on it if I pick it up again and read it again. To call that science is, to my mind, incorrect.

I could likewise write down a sequence of numbers on that piece of paper, and predict what they will be when I read it again. Still not science.

I could save space by writing in a mathematical notation the rules for generating that sequence of numbers and again, I can predict what those numbers will be in the future when I expand that notation and get the sequence back.

I could save myself the hassle of deriving the sequence on paper by having a machine do it for me. What I've now made is a deterministic, predictable future event that is no more than what I described above. It's not science.

The author is correct. But computing science sure is one. Yeah, I'm opening that can of worms. There's a reason biology isn't called "microscope science."

The author's mistake is thinking that computing science (incorrectly referred to as "computer science") is the same thing as software development, and that it is strictly concerned with the machines we commonly refer to as "computers" and the programming languages we use as tools. Whether that makes computing science more or less a science is another question, of course, (though I think the study of computing can be very rigorous). It's important to remember that these are very separate subjects.

Being rigorous does not mean that something is a science. In the case of computing science, it is (in my opinion) clearly a branch of mathematics.
Corollary: CS doesn't need to be a science