<p>I can attempt a long-winded version of Thomas' comment and others can correct me where needed.</p>

<p>Algorithms have been around a long time (e.g. Euclidean algorithm for GCD circa 300 BC), and even computational machines are somewhat old (Babbage's design for the analytical engine in the 1830s). However, most wouldn't consider theoretical CS to have started until we had the first formal, mathematical definitions of what an algorithm can be.</p>

<p>Algorithms were formalized in three main ways, to my understanding, in the early 1900s. There were the $\mu$-recursive functions, which Godel used in his incompleteness work in 1930. However, these were thought of as mathematical constructs and not necessarily mechanical or computational. I would guess that the same is true for Alonzo Church's lambda calculus (early 1930s), the second way. Although one could view them as being closer to computation, they were mainly mathematical and I don't think there was a clear connection to the capabilities of machines and "programming" (using modern terminology).</p>

<p>The third way that algorithms were formalized was of course Turing's Machines in 1937. Most would say that this paper ("On Computable Numbers") founded the field of CS. The reason is that his formalization of algorithms was mechanical. He described how to build "dumb" machines that implemented these algorithms. Recursive functions and the lambda calculus did not so immediately relate to machines (though it was soon shown that all of these are equivalent). The paper was, however, primarily theoretical and mathematical and he proved some interesting/foundational theorems already in the first paper.</p>

<p>So again, the key innovation was to define a model instantly recognizable as "mechanical" or dumb (implementable as a machine), yet capable of expressing anything we would consider to be an algorithm; and then proving theorems about it.</p>

<p>Many other researchers were involved around that time and soon afterward (I haven't mentioned Kleene or Post yet for instance). But for this reason I think most would point to Turing and his 1937 paper as the start of the field.</p>

CC BY-SA 3.0
2014-11-09T20:48:08.387Z
2014-11-10T16:14:57.077Z
2014-11-10T16:14:57.077Z
usul
<p>who first started to analyse computers theoretically ?
who gave birth to Theory of Computation ? </p>

CC BY-SA 3.0
2014-11-09T17:27:27.080Z
That's very subjective. Alan Turing is probably the best answer.
Thomas Steinke
CC BY-SA 3.0
2014-11-09T18:50:06.020Z
What sub-field of TCS are you talking about, specifically?
Ryan Dougherty
CC BY-SA 3.0
2014-11-09T19:41:30.480Z
Again, the question is probably too broad. Some interesting work on foundations of TCS is presented here. http://www.hup.harvard.edu/catalog.php?isbn=9780674055681
Logan Mayfield
CC BY-SA 3.0
2014-11-12T00:34:36.407Z
Computer science is not about computers (in the modern sense of the word), it is about computing. Turing's famous paper proposed an abstraction for an algorithm as a computational process. The computing can be done by a machine, or a human, or nature, etc.
Sasho Nikolov
<soft-question><ho.history-overview>
who found out Theory of Computer Science?
Kishore Vignesh
# who found out Theory of Computer Science?

(Asked by: username_0 on 2014-11-09)

who first started to analyse computers theoretically ?
who gave birth to Theory of Computation ?

**Tags:** soft-question, ho.history-overview

> **Comments:**
> **username_1**: That's very subjective. Alan Turing is probably the best answer.  
> **username_2**: What sub-field of TCS are you talking about, specifically?  
> **username_3**: Again, the question is probably too broad. Some interesting work on foundations of TCS is presented here. http://www.hup.harvard.edu/catalog.php?isbn=9780674055681  
> **username_4**: Computer science is not about computers (in the modern sense of the word), it is about computing. Turing's famous paper proposed an abstraction for an algorithm as a computational process. The computing can be done by a machine, or a human, or nature, etc.  

---

## 1 answers

### Answer by username_5 on 2014-11-09. Score: 5

I can attempt a long-winded version of Thomas' comment and others can correct me where needed.

Algorithms have been around a long time (e.g. Euclidean algorithm for GCD circa 300 BC), and even computational machines are somewhat old (Babbage's design for the analytical engine in the 1830s). However, most wouldn't consider theoretical CS to have started until we had the first formal, mathematical definitions of what an algorithm can be.

Algorithms were formalized in three main ways, to my understanding, in the early 1900s. There were the $\mu$-recursive functions, which Godel used in his incompleteness work in 1930. However, these were thought of as mathematical constructs and not necessarily mechanical or computational. I would guess that the same is true for Alonzo Church's lambda calculus (early 1930s), the second way. Although one could view them as being closer to computation, they were mainly mathematical and I don't think there was a clear connection to the capabilities of machines and "programming" (using modern terminology).

The third way that algorithms were formalized was of course Turing's Machines in 1937. Most would say that this paper ("On Computable Numbers") founded the field of CS. The reason is that his formalization of algorithms was mechanical. He described how to build "dumb" machines that implemented these algorithms. Recursive functions and the lambda calculus did not so immediately relate to machines (though it was soon shown that all of these are equivalent). The paper was, however, primarily theoretical and mathematical and he proved some interesting/foundational theorems already in the first paper.

So again, the key innovation was to define a model instantly recognizable as "mechanical" or dumb (implementable as a machine), yet capable of expressing anything we would consider to be an algorithm; and then proving theorems about it.

Many other researchers were involved around that time and soon afterward (I haven't mentioned Kleene or Post yet for instance). But for this reason I think most would point to Turing and his 1937 paper as the start of the field.


---

