贴一段我在 [Thinking-in-Ramda 第一节原文](Thinking in Ramda: Getting Started)中的回复，关于oop 和 fp 的区别，就不翻译了：
FP detaches functions from object. and OOP’s method should be a property of an object.
So .reduce is OOP style, and R.reduce is FP style.
In FP, we use functions as the basic programming unit instead of object, so that we can compose functions to one more powerful new function, and then apply it to data. We can split a big task into some smaller modules, after each module completed, then compose them into the original whole task.
In OOP we always write object first, follows its method, and maybe some other method in chain. As you see, functions are locked in objects, they can’t do composition.
Steve Yegge has an article about noun vs verb, which is worth to see:
https://steve-yegge.blogspo… , 中文翻译：名词王国中死刑