Functional Programming: some people love it and claim it’s the only way to write software. Others see it as a fad and roll their eyes.

Let’s come away from those extremes. Functional Programming is based in a foundational concept which we learned about a few chapters ago: Lambda Calculus. It’s not magical, nor is it something you should ignore because you’re amazing. It is simply something you need to understand.

Like most things in Computer Science, functional programming is full of jargon, idioms and practices that, at first, might be a bit opaque. If you take the time, however, to let it soak in… functional programming can change the way you write software if you come from an object-oriented background.