Functions are building blocks of most modern programming languages. Each program essentially can be a program itself, with its own variables, expressions, etc.
Advantages:
- Increase readability
- Reusability
- Allow modularized organization and testing.
- Encapsulation.