←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 #
1. tzs ◴[] No.41879333[source]
> 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.

An amusing thing about a hypothesis like "all swans are white" is that if you do want to go around making observations to support it you don't actually need to observe any swans.

"All swans are white" is logically equivalent to "All non-white things are not swans". Thus you can gather observational evidence for the hypothesis by finding non-white things and checking if they are swans.

My monitor is not white, and I see it is not a swan. I've just made an observation in support of "all swans are white". I can make hundreds of such observations without even leaving my house.

I feel sorry for all those other swan color researchers who had to trudge around slimy rivers and mucky wetlands checking the colors of swans.

I think I first saw this in a Martin Gardner book. It is amusing, but actually there has been quite a bit of serious work among logicians and philosophers over this [1] since the logic seems correct but intuitively it seems you shouldn't be able to research swan color by looking around at the furniture in your house.

[1] https://en.wikipedia.org/wiki/Raven_paradox

replies(1): >>41879427 #
2. ninetyninenine ◴[] No.41879427[source]
This suffers from the same issue. Just like how you can’t observe all swans, you can’t observe all non white things.

The negation and the original statement can’t be proven. They can only be falsified.

The reason why you can’t prove things in science is because reality is unbounded so at any point in time in the future you may observe something that contradicts the hypothesis.