Introduction
Functions are the fundamental building blocks of a program. Functions encapsulate logic into independent modules. They isolate errors and allow for code to be reused. In this chapter we will look at functions, why we use them, how to create them and how to use them. We will also look at best practices in function design.