Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The contention that Computer Science is not a science because on opening a CS textbook you get confronted with a number of mathematical concepts seems a fairly ridiculous one. The same argument could be made to say that Physics is not a science, after all.

The problem is that there's a conflation in most people's minds of the terms 'computer science' and 'programming'. Computer Science courses teach you how to program, so this is understandable. But the research that goes on in Computer Science departments is not all about 'how to program'. Hypotheses are generated and tested for specific end-goals.

Sure, CS is highly mathematical in its execution, and the introspective areas of research are thus mathematical. Some of the research in the Algorithms areas is probably best published in mathematical journals. But that's not the whole science. What about measurements of routing efficiency in Networking? What about HCI? What about Ubicomp? What about NLP, or even AI in general? Even if they are using mathematical principles in forming their systems for experimentation, they're still doing science. Hell, all sciences rely on maths somewhere.



I think that this is basically saying "Computer Science is science because it uses science." But Electrical Engineering uses just as much scientific method in its research papers as CS does. Does this make EE a scientific field?

To my mind, every engineering field has researchers who use the scientific method every day to produce stuff for the engineers to use. The field is not defined by those researchers -- it's defined by the users (engineers). EE researchers often publish stuff based on the scientific method, or by proof, but the end product is meant to be used by engineers. CS researchers often publish stuff based on the scientific method, or by proof, but the end product is meant to be used by ... well, we call the "programmers". But they're engineers of software.


Interesting perspective. My thought is that CS is what we call what those researchers do to differentiate it from what the users do.

Creating a new tool through the scientific method would be the science, whereas implementing a system or product would be the 'software engineering' - the application of the science. I don't have a good basket term for both research and application, but I'd probably go for something like 'Computing'.

This could be applied to any engineering field as well, it's just a matter of naming practices. I'd be happy to admit that 'electrical engineering science' existed (though the name is horrible) to refer to the research in electrical engineering.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: