<p>Seeing that you are a computer programmer: Without all the theoretical developments, your C++ compiler would take forever to compile your program and even then would most likely crash. That is assuming that your OS could keep running by that time, not using countless clever data structures and algorithms developed in theory.</p>

<p>Whatever you look at, be it a compiler, operating system, database, a video game, a web service, or the web browser you are using now to read this text: There is <strong>a lot</strong> of theory behind its working.</p>

CC BY-SA 3.0
2013-06-07T21:08:39.493Z
2013-06-07T21:08:39.493Z
Mahdi Cheraghchi
<p><br>
"Computer science is no more about<br>
computers than astronomy is about<br>
telescopes" [E. Dijkstra]</p>

CC BY-SA 3.0
2013-06-07T20:42:12.637Z
2013-06-07T20:42:12.637Z
Marzio De Biasi
<p>What is the point of the study? Why would anyone want to just make a career, passion, or otherwise interest or hobby in something that purports itself as theories for computational systems in general? I mean no offense, but it just puzzles me; somewhat like theoretical physics. Why spend time theorizing rather than being practical and doing something specific to a purpose?</p>

<p>For example, I am a computer programmer aspiring to gain more knowledge of hardware, software, and programming methodologies, but all practically with a purpose. I would not want a theory on how to program a computer, because a theory isn't code for a CPU to execute. I want an answer, an overview, and a purpose; I do not understand the idea of sitting around writing up highly complex mathematical formulas for them to be implemented on a dumb electric microprocessor that will just move voltages around to represent something we find use in. A complex math problem can help scope the image or ideal of something, but face it; a computer doesn't "know" what a problem is, it just has the circuitry, set up and instructions to move matter around for whatever purpose. </p>

<p>Hence, from that very standing point and argue I propose, why expect a dumb, thoughtless chip to give a damn about a problem you thought up that must be re-arranged to be executed in twos' complement bits? For that, think concisely, draw up a schematic, and implement the very problem as directly proportional to the operation of the chip, saving clock cycles from the oscillator, theoretical problems that don't exist on a CPU's pipeline, and for a direct purpose outside of an ideal system.</p>

CC BY-SA 3.0
2013-06-07T19:50:50.910Z
I think this fits [CS.SE] better.
Juho
CC BY-SA 3.0
2013-06-07T19:57:19.090Z
I agree with Juho, please see the check the [FAQ] for the scope of this site. [CS.SE] would be a better place for this question.
Kaveh
CC BY-SA 3.0
2013-06-07T20:00:08.197Z
ps: it looks to me that you aren't familiar with *practical* computer science either. If you want an analogy, you think you can build skyscrapers or bridges knowing no physics, no mechanics, no architecture, ... and just by putting a bunch of bricks on top of each other. Good luck with that. I think trying to write a software like MS Word in assembly can be instructive. :)
Kaveh
CC BY-SA 3.0
2013-06-07T21:00:27.650Z
Or if you neglect all theory, how do you know you are facing a problem that cannot be solved efficiently, or not at all? How do you make informed decisions about what algorithm to choose for a specific task? How do you know if you can solve a problem faster? How do you know that you can't?
Juho
CC BY-SA 3.0
2013-06-07T23:36:47.133Z
The sad thing is, it's actually a valid question. If you hadn't been this provocative and had put some more thought behind your words, it could have elicited some interesting answers.
mhelvens
CC BY-SA 4.0
2021-03-04T20:24:27.073Z
This might fit Academia.SE better!
user1271772
<co.combinatorics>
A question on the very essence of "theoretical computer science"
Computer Master Wannabe
# A question on the very essence of "theoretical computer science"

(Asked by: username_0 on 2013-06-07)

What is the point of the study? Why would anyone want to just make a career, passion, or otherwise interest or hobby in something that purports itself as theories for computational systems in general? I mean no offense, but it just puzzles me; somewhat like theoretical physics. Why spend time theorizing rather than being practical and doing something specific to a purpose?

For example, I am a computer programmer aspiring to gain more knowledge of hardware, software, and programming methodologies, but all practically with a purpose. I would not want a theory on how to program a computer, because a theory isn't code for a CPU to execute. I want an answer, an overview, and a purpose; I do not understand the idea of sitting around writing up highly complex mathematical formulas for them to be implemented on a dumb electric microprocessor that will just move voltages around to represent something we find use in. A complex math problem can help scope the image or ideal of something, but face it; a computer doesn't "know" what a problem is, it just has the circuitry, set up and instructions to move matter around for whatever purpose.

Hence, from that very standing point and argue I propose, why expect a dumb, thoughtless chip to give a damn about a problem you thought up that must be re-arranged to be executed in twos' complement bits? For that, think concisely, draw up a schematic, and implement the very problem as directly proportional to the operation of the chip, saving clock cycles from the oscillator, theoretical problems that don't exist on a CPU's pipeline, and for a direct purpose outside of an ideal system.

**Tags:** co.combinatorics
> **Comments:**
> **username_1**: I think this fits [CS.SE] better.  
> **username_2**: I agree with Juho, please see the check the [FAQ] for the scope of this site. [CS.SE] would be a better place for this question.  
> **username_2**: ps: it looks to me that you aren't familiar with *practical* computer science either. If you want an analogy, you think you can build skyscrapers or bridges knowing no physics, no mechanics, no architecture, ... and just by putting a bunch of bricks on top of each other. Good luck with that. I think trying to write a software like MS Word in assembly can be instructive. :)  
> **username_1**: Or if you neglect all theory, how do you know you are facing a problem that cannot be solved efficiently, or not at all? How do you make informed decisions about what algorithm to choose for a specific task? How do you know if you can solve a problem faster? How do you know that you can't?  
> **username_3**: The sad thing is, it's actually a valid question. If you hadn't been this provocative and had put some more thought behind your words, it could have elicited some interesting answers.  
> **username_4**: This might fit Academia.SE better!  

---

## 2 answers

### Answer by username_5 on 2013-06-07. Score: 4

Seeing that you are a computer programmer: Without all the theoretical developments, your C++ compiler would take forever to compile your program and even then would most likely crash. That is assuming that your OS could keep running by that time, not using countless clever data structures and algorithms developed in theory.

Whatever you look at, be it a compiler, operating system, database, a video game, a web service, or the web browser you are using now to read this text: There is **a lot** of theory behind its working.


---

### Answer by username_6 on 2013-06-07. Score: 3

"Computer science is no more about  
computers than astronomy is about  
telescopes" [E. Dijkstra]


---

