在命令式语言中应用函数式编程精神的现实例子?

时间:2011-07-08 03:54:32

标签: functional-programming

大多数人都说,即使是函数编程也不太可能让你找到工作,你可以通过学习成为更好的命令/ OO程序员。

对我而言,主要是关于编写没有副作用的“非成员非朋友”功能。但我无法想出更多的例子,其中函数式编程可以在命令式语言中有效地应用,因为解决语言缺乏功能往往过于繁琐。

那么您在非功能语言中实际应用的更多(特定)示例/技术是什么?受到函数式编程的启发?

我自己的另一种体验

这个很抽象,但由于大多数FP语言中缺乏“对象”,因此这种文化倾向于采用严格的数据结构设计。通常,在OOP语言中,因为在类中填充额外的变量太容易了,所以事情往往会很快陷入困境。尽管使用OCaml和Haskell的记录语法也可以做到这一点,但这种方法在FP中有点不合适。

4 个答案:

答案 0 :(得分:2)

数据转换

根据我的经验,思考如何在功能上解决问题会让您更多地考虑哪些数据转换到什么 - 而不是状态需要按顺序更改让该死的东西继续运行...

问题视为转换的思考使它们本身看起来不同 - 这会导致不同且最有可能更优雅的解决方案。

更新:在c ++中有< functional>标题,以及< algorithm>中的std::transform

答案 1 :(得分:0)

大多数Ruby Enumerable方法的灵感来自函数式编程的高阶函数

答案 2 :(得分:0)

新的JavaScript数组函数,filter,map,every,some,reduce和reduceRight,都是功能性的。

答案 3 :(得分:0)

评论中已经提到了功能性Java,但Apache Commons Collections中还有一些功能性的东西。请参阅org.apache.commons.collections.functors包。