Is Computer Science Really A Science?

Off-topic talk on music, art, literature, games and forum games.
teo123
Senior Member
Posts: 410
Joined: Tue Oct 27, 2015 3:46 pm
Religion: None (Atheist)
Diet: Vegan

Re: Is Computer Science Really A Science?

Post by teo123 » Sat Mar 30, 2019 5:55 am

miniboes wrote:So is your argument here that if the insights of a science are used in practice, it's therefore not a science?
I think he meant that the process of medical diagnosis is quite different from the process of experimenting in medical science. Medical diagnoses are far less certain than the experiments in medical science are, the process of medical diagnosis doesn't follow the scientific method at all.

But I don't see how medical diagnosis can be said to be to medical science what computer science is to actual sciences. Theoretical computer science is basically mathematics. It's hard to tell the difference between the two in many cases. It can be argued, as I did, that it uses a slightly different method (it's more likely to build upon conjectures that are considered almost certain, such as the P=/=NP, than the actual mathematics is), but that's about it. Of course, the applied computer science is more empirical. When I was making a compiler for my own simple programming language, I relied much on trial and error. I wouldn't be able to make a formal proof that it translates from my own programming language to assembly correctly (nor am I aware of the details of assembly language even remotely enough to formally define it), but it appears as though it does work. And, for some things in computer science, such as where it touches linguistics, like the speech recognition software, it is probably impossible to make formal proofs. You also probably can't make any kind of formal proof that my PacMan game works. I even couldn't explain right now how some parts of it work, for some of the bug-fixes I've made, there appears to be no sane explanation of how they work. And the same is true for some of the ways I made the compiler compatible with older browsers.

We've had a relatively long thread about how Red and BrimstoneSalad think science works, and why I think that that conception is wrong. Basically, I think that assertion being falsifiable (possible to evaluate in multiple ways) is enough for it to be scientific. BrimstoneSalad thinks that an assertion being possible to evaluate is not nearly enough, but that it also needs to be generated using some of the right methods. That is, he thinks there is some kind of a fundamental difference between a description and what he calls prediction. And he thinks that sciences function in some kind of a hierarchy, that something that is commonly accepted in physics is almost always more certain than something that is commonly accepted in, for instance, linguistics, no matter how baseless the basic tenets of modern physics seem. That is, that sciences use different methods, and that natural sciences use all the methods social sciences use (almost the opposite of what Auguste Comte claimed, but, as usual in philosophy, you can take some claim, take a contrary claim, and you can't tell which one is true ny looking at the world), and some more which somehow make them more certain. And he insists that assertions, in order to be considered scientific, need to have quantifiable certainty. I think that's the mentality at the core of many pseudosciences (from "I have a geometrical proof that the Earth is flat, so I don't have to listen to what people from softer sciences have to say!" to "Let's apply the methods I think are used in natural sciences to history."), that it doesn't actually help sciences become more rigorous, and that the premise that the certainty of the theories in linguistics can't be quantified is actually false (at the end of the thread, I presented a way the certainty of the linguistic theory I came up with can indeed be quantified).

User avatar
Red
Supporter
Supporter
Posts: 2916
Joined: Wed Jul 09, 2014 8:59 pm
Location: Toluca Lake

Post by Red » Sat Mar 30, 2019 10:15 am

I think it's better to ask a less broad question. Would you consider a computer scientist (or engineer, or doctor) to be a PROFESSIONAL scientist? Because any person can be considered a scientist if they follow the scientific method, much like someone looking in their telescope is considered an amateur astronomer.

knot, does that help with the criteria part?
Learning never exhausts the mind.
-Leonardo da Vinci

knot
Master in Training
Posts: 538
Joined: Tue Apr 28, 2015 9:34 pm

Post by knot » Sun Mar 31, 2019 8:36 pm

Sure, then I'd say all CS people/programmers are scientists to different degrees, because programming is nothing but constant hypothesizing and experimentation. It's almost impossible to be a professional programmer and not follow something that resembles the scientific method. This is because the technical debt and complexity of code grows very rapidly, and the only ways to combat this is by doing a lot of testing/experimentation and having a good understanding of how computers work at a lower level. Safety-critical areas (e.g. airplane software) will also require more rigorous proofs that the algorithms work as intended .

teo123
Senior Member
Posts: 410
Joined: Tue Oct 27, 2015 3:46 pm
Religion: None (Atheist)
Diet: Vegan

Post by teo123 » Mon Apr 01, 2019 12:49 am

By the way, @Jebus, can you explain what you meant by comparing computer science to political science?

carnap
Anti-Vegan Troll
Posts: 406
Joined: Wed Feb 01, 2017 12:54 pm
Religion: Other

Post by carnap » Mon Apr 01, 2019 4:24 am

The word "science" has multiple meanings. But if you're thinking of the natural sciences (biology, physics) then, no, its not a science.

Computer science is more or less a branch of applied mathematics. As an academic subject I think its a bit half-baked and doesn't bring much more to the table than just studying mathematics with an emphasizes on computing.
I'm here to exploit you schmucks into demonstrating the blatant anti-intellectualism in the vegan community and the reality of veganism. But I can do that with any user name.

carnap
Anti-Vegan Troll
Posts: 406
Joined: Wed Feb 01, 2017 12:54 pm
Religion: Other

Post by carnap » Mon Apr 01, 2019 4:35 am

knot wrote:
Sun Mar 31, 2019 8:36 pm
SThis is because the technical debt and complexity of code grows very rapidly, and the only ways to combat this is by doing a lot of testing/experimentation and having a good understanding of how computers work at a lower level.
Unit testing, integration testing, etc are much different than "testing/experimentation" in the sciences. There are three primary purposes of testing a code base that feed off each other. First you test when developing the code to make sure it does what you expect. Next you test when you have a bug so you can isolate the problem. Lastly you use the tests as a way to make sure updates to the code are stable.

Also most programmers don't have good knowledge of how computers work "at a lower level". Programming happens at various levels of abstraction and different people work at different levels. For example you can design a complex web application without knowing much of anything about the details of computer networking. In fact the "low level" is an entirely different field, namely, electrical engineering.
I'm here to exploit you schmucks into demonstrating the blatant anti-intellectualism in the vegan community and the reality of veganism. But I can do that with any user name.

teo123
Senior Member
Posts: 410
Joined: Tue Oct 27, 2015 3:46 pm
Religion: None (Atheist)
Diet: Vegan

Post by teo123 » Mon Apr 01, 2019 8:52 am

carnap wrote:As an academic subject I think its a bit half-baked and doesn't bring much more to the table than just studying mathematics with an emphasizes on computing.
Well, yes, there is a widespread belief, even among professional programmers, that what's taught on university isn't actually applicable to real-life programming. Real-life programming rarely, if ever, requires understanding of advanced mathematics and physics, or even advanced computer science algorithms (Dijkstra's algorithm, various sorting algorithms...). But, let's face it, the same goes for other fields of engineering. Advanced aerodynamics, like what exactly causes lift, is basically irrelevant to engineering an airplane. Similarly, quantum mechanics required if you want to deeply understand how diodes and transistors work is basically irrelevant to engineering electronic devices. One can perhaps say that if quantum mechanics our devices are based on was wrong, we would not have known that. In order to build, for example, a website or a mobile app, the knowledge of soft sciences and design is just as important as the knowledge of coding is.
Still, that might be a illusion created by how advanced computer science is. Once you get to low-level details, like I did when I was programming my compiler, you need to use some knowledge of computer science (tokenizing, parsing, DFS algorithm...) and mathematics (understanding basics of logarithms and trigonometry), but that's all high-school stuff. If you were to build a mathematics library, you need to have a basic understanding of calculus (high-school stuff), and, in order to optimize it, perhaps the things such as the Taylor's series.
It's hard to explain what kind of knowledge is needed in order to make a PacMan game playable on smartphones. It's not the advanced algorithms or mathematics, yet alone physics, it's just... you need to have a basic understanding of how browsers work and how JavaScript works. Or something that can be used instead of browsers and instead of JavaScript. But it has little, if anything, to do with theoretical computer science.
So, to some extent, @carnap, I agree with you.

carnap
Anti-Vegan Troll
Posts: 406
Joined: Wed Feb 01, 2017 12:54 pm
Religion: Other

Post by carnap » Fri Apr 05, 2019 2:43 am

teo123 wrote:
Mon Apr 01, 2019 8:52 am
carnap wrote:As an academic subject I think its a bit half-baked and doesn't bring much more to the table than just studying mathematics with an emphasizes on computing.
Well, yes, there is a widespread belief, even among professional programmers, that what's taught on university isn't actually applicable to real-life programming. Real-life programming rarely, if ever, requires understanding of advanced mathematics and physics, or even advanced computer science algorithms (Dijkstra's algorithm, various sorting algorithms...).
Computer science departments aren't trying to teach "programming" which is something you can learn quickly in 2~3 classes. You can study software engineering but the focus there is on designing large software systems and not just tossing together some code which is what a lot of "programmers" do.

I think you're under-estimating the number of jobs in software engineering that require advance math of physics knowledge. There are tons of software used for mathematical modeling, engineering, artificial intelligence and so on that require both advanced computer science and math/science knowledge. And that is where the money is....not "programming". You can hire someone in India $10/hour to program.
I'm here to exploit you schmucks into demonstrating the blatant anti-intellectualism in the vegan community and the reality of veganism. But I can do that with any user name.

teo123
Senior Member
Posts: 410
Joined: Tue Oct 27, 2015 3:46 pm
Religion: None (Atheist)
Diet: Vegan

Post by teo123 » Fri Apr 05, 2019 11:25 am

carnap wrote: You can hire someone in India $10/hour to program.
Well, if you ask me, it's still a relatively high-paying job. The average wage in Croatia is 5.5$/hour, and it's even less in India. An average programmer in Croatia earns 11$/hour.

teo123
Senior Member
Posts: 410
Joined: Tue Oct 27, 2015 3:46 pm
Religion: None (Atheist)
Diet: Vegan

Post by teo123 » Thu Apr 11, 2019 11:49 pm

@carnap, do you have some statistics to prove your point?

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests