Hacker News new | past | comments | ask | show | jobs | submit login

Computer science is about what information can be expressed with a computing device.

This kind of proves the point that the name is not adequate. Let's pick an example. Kolmogorov complexity is a tool used to discuss randomness and the limits of data compression. It cannot be calculated on a computing device. So let's kick it out of CS. Meanwhile all the javascript programmers who are diligently engineering the next banking application UX can call themselves computer scientists instead of engineers if they want to. And maybe there is a whiff of science in A/B testing.

My point is that the name of the field shows its immaturity. Hooke wasn't looking for chromosomes and DNA through the microscope. So at that stage the game his field would have been limited to "Stuff that can be seen with a microscope". The stuff we are going to discover with computers has only been glimpsed. And, as you say, it won't be about computers.




Kolmogorov complexity is a tool used to discuss randomness and the limits of data compression. It cannot be calculated on a computing device.

What are you talking about? Kolmogorov complexity is all about calculating on a computing device (but lets be clear, a computing device is not that thing under your desk or in datacenters -- it can just as easily be a Turing machine or binary lambda calculus or digital circuits).. All "complexity" theory is about calculations on a computing device. Otherwise how are you compressing the data? Where does the data live? How do you measure the programs that interpret the strings? What do the programs run on? Kolmogorov complexity is simply a subset of information theory, all of which lies in the field of computer science, as it is all about how one expresses information over a computational model.

Now, just because you use a computer doesn't mean you're doing computer science. Here's a simple test, if you're answering this question, "For some model of computation is X true" then you're doing computer science. If you're not, then you're likely doing engineering. Building a banking application is generally not attempting to answer that question.

Everything in all complexity theory, algorithms, programming languages, AI, quantum computing, etc... require the existence of computers.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: