←back to thread

166 points levlaz | 7 comments | | HN request time: 0.197s | source | bottom
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. jacobsimon ◴[] No.41878097[source]
I think you’re missing the broader point, which is that there is a lot to computer science outside of the purely mathematical formalism.

For example, distributed systems and networking are more like a physical science because they seek to make generalized learnings and theorems about real world systems.

The author’s last point around complexity theory also resonates because it demonstrates the value of designing experiments with real-world conditions like computing hardware speed and input sizes.

replies(2): >>41878774 #>>41879385 #
2. User23 ◴[] No.41878774[source]
Distributed systems are famously hard to get right and mathematical formalism is pretty much the only way to do so at scale. Amazon found that out with S3[1]. TLA+ exists for very good reason!

That’s not to discount the reality that mapping the model to reality is hard work that needs to be done.

[1] https://lamport.azurewebsites.net/tla/formal-methods-amazon....

3. ninetyninenine ◴[] No.41879385[source]
The topic is about theoretical computer science which I would say is a math.

The authors last point is basically like what applied math is to math. It’s applied computer science.

replies(1): >>41880089 #
4. auggierose ◴[] No.41880089[source]
It is either "a kind of math", or "math", but not "a math".
replies(1): >>41880870 #
5. ninetyninenine ◴[] No.41880870{3}[source]
Sounds ok to me in casual conversation. I use it like fruit. Orange is a fruit. Orange is also a kind of fruit. Orange is fruit doesn’t sound right though.

Empathetically speaking I’m sure it’s quite jarring for you when you read it.

replies(1): >>41886472 #
6. auggierose ◴[] No.41886472{4}[source]
A single fruit

A single math

One of these expressions doesn't make sense. So no, you cannot use "math" like "fruit".

replies(1): >>41888126 #
7. ninetyninenine ◴[] No.41888126{5}[source]
Ok, you are right. But as long as people understand my points I’m fine with the grammatical error.