←back to thread

166 points levlaz | 3 comments | | HN request time: 0.001s | 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 #
1. raincom ◴[] No.41885304{3}[source]
Exactly this. A hypothesis is postulated to explain phenomena (observations). An adhoc hypothesis is one that explains already-selected facts/observations/phenomena. That's why it is very important for a hypothesis to explain novel facts, solve novel problems. That's why Late Philosopher of Science Larry Lauren made a distinction between confirming instances and positive instances.
replies(1): >>41888232 #
2. ninetyninenine ◴[] No.41888232[source]
Disagree. The scientific method is an attempt at ascertaining the truth. It makes sense to extract a technical definition of what this process is devoid of human factors like “explanation”.

Similar to formalization where we determine the grammatical rules of a language in linguistics or formalization of a physical system to develop models for by using the statistical definition of hypothesis I am doing the same technical extraction here.

Sure informal definitions of hypothesis are useful but formal models are also useful and thus a formal model of science as defined by statistics is useful as well.

I am not denying alternative definition of hypothesis.

I am just saying that for the rigorous categorization of the term “theoretical computer science” we find that it doesn’t fit into the rigorous definition of the scientific method. There is a clear delineation here. If you want to use other definitions where “usefulness” and “explanations” are a factor then what literally stops knitting from being a science? Knitting can be useful and technical in terms composing fabric together…. why isn’t it a science?

You see the issue here and why technicality or formalization is needed? Intuitively we know knitting isn’t a science but we aren’t sure technically why… The technical definition of science elucidates the reason why knitting is not a science… because knitting doesn’t involve hypothesis testing. Plain and simple. We discard fuzzy terms like “usefulness” and it ultimately becomes clear why knitting isn’t a science.

The other reason why the statistical definition of hypothesis is useful is because it helps us delineate categories for terms where our intuition fails and becomes ambiguous. We aren’t sure where “theoretical computer science” fits into terms of science or mathematics. Using technical definitions we find that theoretical computer science is actually a math and not a science.

If we use informal definitions then nobody is sure what computer science is. The mind is confused thinking it’s both a science and a math at the same time and the op starts to use analogies in attempt to justify certain categorizations. Any time you use analogies as proof you hit a sort of failure because analogies don’t prove anything. You need to use definitions as proof.

Hence the need for formal definition's. Your philosophers definition of hypothesis is unfortunately too informal.

replies(1): >>41911405 #
3. raincom ◴[] No.41911405[source]
You should better read up research done in the domain of philosophy of sciences. I was not providing a definition of hypothesis. Instead, treat as a hypothesis about hypothesis. Definitions don't settle any dispute, whatsoever, because they just replace one symbol (definiendum) with another set of symbols (definiens).