Functional Programming in C++
No matter what language you work in, programming in a functional style provides benefits. You should do it whenever it is convenient, and you should think hard about the decision when it isn’t convenient.
I love this tweet from Michael Feathers (author of the excellent Working Effectively with Legacy Code):
OO makes code understandable by encapsulating moving parts. FP makes code understandable by minimizing moving parts.