DEV Community

Discussion on: Teaching Functional Programming: Two Big Picture Approaches

Collapse
 
stereobooster profile image
stereobooster • Edited

The story around Turing/Church is not quite correct. Turing and Church both tried to solve the same problem (halting problem or Entscheidungsproblem). This problem comes from the list of problems compiled by a German mathematician (Hilbert's problems). They arrived at the same conclusion same-ish time, but Church paper was published a little earlier, and Turing later add small proof to his original paper, which proved equivalence of Turing Machines and lambda calculus. Original Turing machines didn't use 0/1 they used special alphabet (Gödel numbering). Gödel also solved one of the problems from Hilbert's list (1931, Gödel's incompleteness theorems).

If you want to know actual story from Leibniz to Turing I recommend to watch this video.

Some fun facts:

  • Gödel "invented" computational complexity theory - he asked von Neuman in one of his letters is it possible to prove P = NP.
  • there is a modern field of science which studies machines, that are able to do more than original Turing Machines (from 1936). It is called Hypercomputation. Turing himself doubt that his original machines are the limit of computation, so in later works, he proposed new TM with Oracles
  • Hilbert, I guess, is most known for Hilbert Curve, which is very important in quantum physics