←back to thread

166 points levlaz | 2 comments | | HN request time: 0s | source
Show context
ykonstant ◴[] No.41877090[source]
This is a great article and I especially liked the notion:

>Theoretical physics is highly mathematical, but it aims to explain and predict the real world. Theories that fail at this “explain/predict” task would ultimately be discarded. Analogously, I’d argue that the role of TCS is to explain/predict real-life computing.

as well as the emphasis on the difference between TCS in Europe and the US. I remember from the University of Crete that the professors all spent serious time in the labs coding and testing. Topics like Human-Computer Interaction, Operating Systems Research and lots of Hardware (VLSI etc) were core parts of the theoretical Computer Science research areas. This is why no UoC graduate could graduate without knowledge both in Algorithms and PL theory, for instance, AND circuit design (my experience is from 2002-2007).

I strongly believe that this breadth of concepts is essential to Computer Science, and the narrower emphasis of many US departments (not all) harms both the intellectual foundations and practical employment prospects of the graduate. [I will not debate this point online; I'll be happy to engage in hours long discussion in person]

replies(4): >>41877362 #>>41877761 #>>41878005 #>>41887503 #
ninetyninenine ◴[] No.41877761[source]
> Theoretical physics is highly mathematical, but it aims to explain and predict the real world. Theories that fail at this “explain/predict” task would ultimately be discarded. Analogously, I’d argue that the role of TCS is to explain/predict real-life computing.

No this guy doesn’t get it. He doesn’t understand what science is.

In science nothing can be proven. If I say all swans are white as my hypothesis this statement can never be proven because I can never actually verify that I observed all swans. There may be some swan hidden on earth or in the universe that I haven’t seen. Since the universe is infinite in size I can never confirm ever that I’ve observed all swans.

However if I observe one black swan it means I falsified the entire hypothesis. Thus in science and in reality as we know it nothing can be proven… things can only be falsified.

Math on the other hand is different. Math is all about a made up universe where axioms are known absolutely. It has nothing to do with observation or evidence in the same way science does. Math is an imaginary game we play and in this game it is possible to prove things.

This proof is the domain of mathematics… not science. Physics is a science because it involves gathering evidence and attempting to falsify the hypothesis.

Einstein said it best: “No amount of experimentation can ever prove me right; a single experiment can prove me wrong”

Basically newtons laws of motion are a perfect example of falsification via experimentation with relativity later being confirmed as the more accurate theory that matches more with observation.

So what’s the deal with computer science?

First of all the term already hits the first nomenclature issue. Computer science is ironically not a science. It lives in the same axiomatic based world as mathematics and therefore things can be proven in computer science but not in science itself.

So this nomenclature issue is what’s confusing everyone. The op failed to identify that computer science isn’t actually a freaking science. Physics is a science but computer science isn’t.

So what is computer science? Sorry to say but it’s a math. I mean it’s all axioms and theorems. It’s technically math.

CS is a math in the same way algebra and geometry is math. Physics is a science and it is not a math. It’s a totally orthogonal comparison.

Your job as programmers is more like applied math. It’s completely orthogonal to the whole topic but People often get this mixed up. They start thinking that because programming is applied computer science then computer science itself is not a math.

Applied math ironically isn’t really math in the same way writing isn’t a pencil. Yes you use a pencil to write but they are not the same. Same thing with computer science and programming.

replies(9): >>41877794 #>>41878097 #>>41879333 #>>41879798 #>>41880294 #>>41880480 #>>41882001 #>>41882307 #>>41883224 #
lisper ◴[] No.41882001[source]
> If I say all swans are white as my hypothesis

That fails as a scientific hypothesis on purely structural grounds, before you have made any observations. Scientific hypotheses have to explain something. It's not enough to say that all swans are white, you have to say why. "All swans are white" is an observation, not a (scientific) hypothesis.

An example of a legitimate scientific hypothesis is that all swans are white because being white provides swans with some benefit in terms of reproductive fitness (and then you have to go on to say what that benefit is). You can then go on to predict that there might be non-white swans, but that these are expected to be rare because evolutionary pressure would drive non-whiteness out of the gene pool. Or something like that. But "all swans are white" by itself is a non-starter as a scientific hypothesis.

replies(2): >>41882327 #>>41885304 #
ninetyninenine ◴[] No.41882327{3}[source]
I'm talking at a very technical level ignoring all the cultural stuff around the scientific method like "peer review" or explaining "why"

Basically a hypothesis is a statement that can be true or false. That's it.

The reason I refer to science in this very technical way is because the we are tackling the problem of classification. We are asking the question what is computer science? So to answer the question we need to use very technical definitions where the boundaries of categorization are extremely clear.

Again, at a very technical level a hypothesis is simply a statement that is true or false.

replies(3): >>41882469 #>>41882489 #>>41886481 #
1. abeppu ◴[] No.41882469{4}[source]
I think it's a mistake to frame "why" as "cultural stuff around the scientific method" but not actually part of science.

> Basically a hypothesis is a statement that can be true or false. That's it.

No, a statement which can be true or false is just a proposition. The reason that we care about "why" is that a hypothesis has bearing on many falsifiable propositions. It's the difference between "the specific rock I dropped accelerated at 9.8 m/s^2" and Newton's law of universal gravitation.

replies(1): >>41882575 #
2. ninetyninenine ◴[] No.41882575[source]
I explain here:

https://news.ycombinator.com/item?id=41882469