The Essence of Functional Programming

What the hell is functional programming?!

Functional Programming (FP) is often described using a lot of jargon. A lot of fluff and no substance. I struggled with understanding FP for quite some time because of this. Even after understanding the concepts and principles involved in FP, I never really knew what FP was.

What is the philosophy behind FP? How does thinking functionally differ from thinking in an OO-way? These are the questions I…