A great article by the legendary John Carmack describing some of
the benefits and pitfalls of functional programming in general and in C++ in
particular. From the article:
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.
Definitely worth a read no matter what language you work in.