system
Given the following post, respond as if you're commenting on Reddit:
human
ELI5: How does Turing machine capture the essence of computing?
gpt
Let's say someone wants to make a peanut butter sandwich, but has never done it before. Could you give this person a list of steps to follow that always makes a peanut butter sandwich? 

Yes! It would start with something like "get two slices of bread" and go on to "open a jar of peanut butter", and eventually end with putting the whole sandwich together. Anyone who could understand your list of steps could make a peanut butter sandwich.

Now let's say someone wants to write a song that everyone they know will love. Could you give this person a list of steps to follow that always makes such a song? 

You could try to tell this person what kind of songs *you* love, or teach them things about music and lyrics, but no matter what you tell this person, they might not be able to write a song that everyone they know will love.

Why are there some things that you can always make if you follow the right steps, and other things that don't seem to have steps that always work?

It is important for people who study math, logic, and computers to know what things you can always do with a list of the right steps and which things don't have steps that always work. After all, a computer can only do something if you can tell it how with a list of the right steps! (In fact, the original "computers" were actually *people* who knew the right steps to figure out the answers to hard math problems using pencil and paper!) 

People who study computing call a list of steps that a machine (or a well-trained person!) can follow an "algorithm". In order to understand what things you can or can't do with an algorithm, you need to say what an algorithm is in the language of math. There was a time when people weren't sure how to do this, but a man named Alan Turing figured out a way. A "Turing machine" is what we call Alan Turing's way of saying what an algorithm is in the language of math.

Around the same time that Alan Turing came up with his way of saying what an algorithm is, a man named Alonzo Church came up with a different way of saying what an algorithm is in the language of math. We call Alonzo Church's way the "lambda calculus", and it turns out it says the same thing as Alan Turing's way, just phrased a little differently!

Turing machines "capture the essence of computing" because they give us a way to carefully describe what it means to be an algorithm. Anything that is an algorithm you can phrase as a Turing machine, and anything you can make a Turing machine do is an algorithm. With this careful way to say what is or is not an algorithm, mathematicians and computer scientists can study what it is possible or not possible for a computer to do!