Programming language
Functional programming looks at programming like a function in mathematics. The program receives input, together with some information, and uses this information to create output. It will not have a state in between, and it will also not change things that are not related to the computation.