Functional Thinking
Functional Programming is more than a set of principles. It's a paradigm; a different way of thinking. It focuses on the “what” is being done, as opposed to the “how” it’s being done as in Object Oriented and Imperative paradigms.