Computer science is not science
-
Sorry, I know this topic is an old and recurrent one, but I need to get it off my chest. I've tried to casually mention this in other websites and I always encounter way more resistance than I would expect.
"Science", in general, means fields of knowledge that use the scientific method: make observations, formulate hypotheses, develop testable predictions, test predictions, repeat. Or in simpler words: you have a system that you don't understand, so you study it and poke it to try to determine exactly how it works. In biology, you have living beings, in physics, you have the universe itself, in astronomy, you have the stars (although our poking ability is severely limited there), etc.
And before s complain: yes, a field is allowed to slightly deviate from that method and still be science. Concepts are fuzzy like that.
"Computer science", on the other hand, means
And this simply does not fit. There's no system to peek and poke. It's more like a mash-up of logical/mathematical reasoning with engineering.
Same ic disclaimer applies: yes, you can probably find some examples of the scientific method happening there, like someone tweaking an evolutionary algorithm and plotting the results to find patterns, etc. but I'm talking about the general case.
-
@anonymous234 I was going to argue, but the more I think about it, the more I realise that 'Computer Science' is really more applied mathematics than a true science like physics. Or, to put it another way:
@anonymous234 said in Computer science is not science:
It's more like a mash-up of logical/mathematical reasoning with engineering.
-
@RaceProUK To be fair, there are people who call mathematics a science, but it's not the most common meaning.
-
@anonymous234 I think of maths as the language of science, especially physics.
-
@anonymous234 While this topic is probably really good and you put a lot of thought into it... I can't help but be distracted by your avatar? Where is that from?
Filed Under: totally not derailing anything here
-
@Kuro I just posted about that in the Lounge!
Someone posted this picture on a 4chan board
https://what.thedailywtf.com/uploads/files/1485614008361-upload-0afd3dab-cf2b-4f07-84d0-f949e0096169.pngSadly I don't know the author and Google is not being very useful.
-
@anonymous234 said in Computer science is not science:
I don't know the author and Google is not being very useful.
Well, just apply some computer science to it
-
@anonymous234 said in Computer science is not science:
"Science", in general, means fields of knowledge that use the scientific method: make observations, formulate hypotheses, develop testable predictions, test predictions, repeat.
I see lots of observations, hypotheses and testing predictions by software scientists. Not all of them do that, but there are a fairly big community of software engineers who specialize in inventing algorithms and analyzing their properties, both in abstract sense and as actual software running on actual hardware.
Case in point: the Mill CPU guys. They made an observation (90% of registry values are only accessed once after being assigned), formulated hypothesis (that registry model is obsolete and they're going to make everything better with their belt model), and are now developing testable predictions by designing a chip that implements their ideas, which will later be extensively tested by everyone (unless they go out of business first because they will find they were completely wrong before it goes public).
Yes, most CS grads never get to work in a science-y way. But then, neither do most Maths grads.
-
-
@lolwhat said in Computer science is not science:
@Gąska said in Computer science is not science:
registry
Inb4 I think you mean register...
WTF where did that hive come from?
-
@lolwhat that's what happens when they're both rejestr in your native tongue...
Fun fact: language and tongue are also the same word here.
-
@Tsaukpaetra said in Computer science is not science:
@lolwhat said in Computer science is not science:
@Gąska said in Computer science is not science:
registry
Inb4 I think you mean register...
WTF where did that hive come from?
According to Wikipedia:
HKEY_DYN_DATA
This key is used only on Windows 95, Windows 98 and Windows ME.[10] It contains information about hardware devices, including Plug and Play and network performance statistics. The information in this hive is also not stored on the hard drive. The Plug and Play information is gathered and configured at startup and is stored in memory.
-
@RaceProUK said in Computer science is not science:
'Computer Science' is really more applied mathematics
My freshman year of college was the first year Computer Science was its own major there. Before that, it was part of Applied Math.
-
@anonymous234 said in Computer science is not science:
you have a system that you don't understand, so you study it and poke it to try to determine exactly how it works
Sounds like a lot of computer scientists of my acquaintance. In fact, with some of the ways in which we program computers now, it's actually true; we really have to use the scientific approach to figuring out what they do despite the system being something we previously built. (Neuromorphic computing with stochastic connection patterns can have that sort of effect.)
-
@dkf So what you're saying is Mary Shelley shouldn't have worried about the biologists, it's you crazy bastards who are going to create a monster?
I'm almost OK with that, but my worries is that instead of gravedigging, you loons will go study GeoCities archives...
Filed under: It's a GIF, It's a GIF!
-
@Onyx our monster won't work.
-
@Onyx said in Computer science is not science:
it's you crazy bastards who are going to create a monster?
If we don't make killer grey goo first, we'll make the AI end-times monster. Sounds about right for a first-rate research institution. ;)
-
@anonymous234 I'm not sure I get what you're complaining about. Sure, CS is maths. Maths is not experimental science, however most people are OK to group it with experimental sciences when making broad categories (such as "sciences" vs. "humanities" in academia). So by extension, the same applies to CS. What's wrong/weird about it?
-
@anonymous234 Ultimately, I think the main reason it's called "computer science" is because science and technology are so tightly joined in the practical side that they're taught under one single umbrella. However, certain areas of that absolutely match the definition of "science". Big ones.
Artificial intelligence. Who understands that? The whole idea is to duplicate an organic system that we don't understand either. It's a system of peeking and poking, making predictions, tweaking the code, testing to see if the predictions hold out. Computer pattern recognition, object detection and identification, optimization algorithms, neural networks, all fall into this area.
Security and cryptography. Do you know what "fuzz testing" is, or why it's even a thing? If you fully understand some code, you don't need to fuzz test it. It's only useful for large, complex systems that you can't understand well enough to design specific tests for every possible exploitable flaw. Penetration testing involves a lot of peeking and poking.
I'll concede that these are isolated examples, and that most of the theoretical side of it doesn't really fit the definition of science that you're using. But even the areas of cold, hard logic and math -- computer architecture and engineering, performance analysis -- are starting to include fuzzy stuff like AI, for example allowing a computer to rapidly simulate far more design variations than a human engineer could in order to try to identify ways to improve it.
You do seem confused, though, by the fact that there is the "scientific method" and then there's "science". These are not exactly the same thing. Computer science is an area of formal science, but the definition of "science" that you're using is actually more just natural science.
-
@anotherusername said in Computer science is not science:
I'll concede that these are isolated examples, and that most of the theoretical side of it doesn't really fit the definition of science that you're using. But even the areas of cold, hard logic and math -- computer architecture and engineering, performance analysis -- are starting to include fuzzy stuff like AI, for example allowing a computer to rapidly simulate far more design variations than a human engineer could in order to try to identify ways to improve it.
There's also the field of human-computer interaction, which is definitely part of CS yet it's where CS is approaching experimental psychology and physiology rather than being anywhere near math.
-
@dkf said in Computer science is not science:
@anonymous234 said in Computer science is not science:
you have a system that you don't understand, so you study it and poke it to try to determine exactly how it works
Sounds like a lot of computer scientists of my acquaintance. In fact, with some of the ways in which we program computers now, it's actually true; we really have to use the scientific approach to figuring out what they do despite the system being something we previously built. (Neuromorphic computing with stochastic connection patterns can have that sort of effect.)
@dkf said in Computer science is not science:
@anonymous234 said in Computer science is not science:
you have a system that you don't understand, so you study it and poke it to try to determine exactly how it works
Sounds like a lot of computer scientists of my acquaintance. In fact, with some of the ways in which we program computers now, it's actually true; we really have to use the scientific approach to figuring out what they do despite the system being something we previously built.
You mean figuring out what they think? Or what they want you think they are thinking about.
(Neuromorphic computing with stochastic connection patterns can have that sort of effect.)
-
Computer science is a big swindle wherein college freshmen are duped into believing that they are receiving a valuable credential for a programming job only to end up reimplementing linked lists and binary trees and proving that the square root of two is irrational.
-
@Groaner same goes for every other degree, whether it's in arts or science. Gender studies anyone?
-
@Groaner said in Computer science is not science:
Computer science is a big swindle wherein college freshmen are duped into believing that they are receiving a valuable credential for a programming job only to end up reimplementing linked lists and binary trees and proving that the square root of two is irrational.
That is not that bad. They end up writing crappy essays and taking art and history classes to keep those human science professors employed.
-
@antiquarian said in Computer science is not science:
@RaceProUK said in Computer science is not science:
'Computer Science' is really more applied mathematics
My freshman year of college was the first year Computer Science was its own major there. Before that, it was part of Applied Math.
It was called Mathematical Sciences at my college.
-
-
@antiquarian I have a degree in Applied Math. The CS department didn't do undergraduate degrees then.
Turn left! Turn left! Turn left!
-
@chozang said in Computer science is not science:
@remi said in Computer science is not science:
@anonymous234Math
sis notexperimentalscience.FTFY
It's not science, it's the language of science.
-
@dkf said in Computer science is not science:
@anotherusername said in Computer science is not science:
I'll concede that these are isolated examples, and that most of the theoretical side of it doesn't really fit the definition of science that you're using. But even the areas of cold, hard logic and math -- computer architecture and engineering, performance analysis -- are starting to include fuzzy stuff like AI, for example allowing a computer to rapidly simulate far more design variations than a human engineer could in order to try to identify ways to improve it.
There's also the field of human-computer interaction, which is definitely part of CS yet it's where CS is approaching experimental psychology and physiology rather than being anywhere near math.
-
@anonymous234 said in Computer science is not science:
Sorry, I know this topic is an old and recurrent one
-
@anonymous234 said in Computer science is not science:
"Science", in general, means fields of knowledge that use the scientific method: make observations, formulate hypotheses, develop testable predictions, test predictions, repeat.
That's debugging, right there.
-
-
I think you are more or less correct. Computer Science should be engineering.
However some of it is also mathematics (Boolean Logic for example).
-
@sweaty_gammon said in Computer science is not science:
Computer Science should be engineering.
Let me introduce you to hundreds of essays on the topic of whether this is true.
-
@sweaty_gammon said in Computer science is not science:
I think you are more or less correct. Computer Science should be engineering.
However some of it is also mathematics (Boolean Logic for example).
At my university there is both Computer Science and Software Engineering. The former is very theoretical and the latter is very practical.
-
@pie_flavor said in Computer science is not science:
@sweaty_gammon said in Computer science is not science:
I think you are more or less correct. Computer Science should be engineering.
However some of it is also mathematics (Boolean Logic for example).
At my university there is both Computer Science and Software Engineering. The former is very theoretical and the latter is very practical.
Is there one in which it's practically theoretical?
-
@Tsaukpaetra Applied Math with a concentration in CS. That's what I'm probably doing if I can't get my GPA up to 3.6.
-
@pie_flavor I am aware of the differences. I have a degree in Software Engineering.
-
@Tsaukpaetra said in Computer science is not science:
@pie_flavor said in Computer science is not science:
@sweaty_gammon said in Computer science is not science:
I think you are more or less correct. Computer Science should be engineering.
However some of it is also mathematics (Boolean Logic for example).
At my university there is both Computer Science and Software Engineering. The former is very theoretical and the latter is very practical.
Is there one in which it's practically theoretical?
Both are theoretically practical.
-
@Gąska LMFAO
-
Reminds me of an old joke.
Theory is when nothing works and everybody knows why. Practice is when everything works but nobody knows why. In our shop, we combine theory with practice - nothing works and nobody knows why.