Functional programming is a style of programming that attempts to model programs similar to mathematical functions.