We have functions for many reasons. If some chunk of code performs a well-defined task, placing it in a function can lead to clearer code. It allows us to reuse the code, if the same thing has to happen in more than one place. It allows us to provide a pointer to the function, which lets other code invoke our code even though it doesn't know anything about it. It also enables recursion, which would not be possible otherwise.