Functional programming is a programming paradigm where programs are constructed by applying and composing functions.
It is made richer by expressions like f[x] being treating as symbolic data.
This is term is often used in contrast to Procedural programming.