Michael Feathers, the author of Working with Legacy Code, described in a neat way the difference between object and functional oriented programming:
OO makes code understandable by encapsulating moving parts. FP makes code understandable by minimizing moving parts.
More can be found here