您想测量与功能编程本身或编程有关的有用性吗?
一般来说,函数式编程的积极体验不是来自特定技术,而是来自它改变思维的方式 -
所以我会说函数式编程就是你问题本身的答案.
但是为了给出一个更具体的答案,我会投票选择功能性抽象机制
正如已经说过的那样,它们在第一个视图中是非常抽象的东西,但是一旦你理解了它们,它们就是非常酷且有价值的技术,可以编写简洁,错误安全以及最后但同样重要的高可重用代码.
比较以下(伪代码):
// Concrete
def sumList(Data : List[Int]) = ...
// Generic
def sumGeneric[C : Collection[T], T : Num](Data : C) = ...
Run Code Online (Sandbox Code Playgroud)
与第一个定义相比,后者可能有点不直观,但它允许您一般使用任何集合和数字类型!
总而言之,许多现代(主流)语言已经发现了这样的好处,并引入了非常实用的功能,如lambda functios或Linq.了解这些技术也将改善用这种语言编写代码.
递归。有时很难将你的头包裹起来