首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么时候使用函数式编程语言?

什么时候使用函数式编程语言?
EN

Stack Overflow用户
提问于 2008-12-29 10:07:14
回答 6查看 55.9K关注 0票数 97

在哪些情况下,我应该选择使用函数式编程语言,而不是更冗长的面向对象语言,如C++、C#或Java?

我明白什么是函数式编程,我不太明白的是,对于什么类型的问题,函数式编程是完美的解决方案吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2008-12-29 10:20:20

在我看来,函数式语言主要用于两件事:游戏人工智能和数学计算。它在游戏人工智能中很好用,因为它有很好的列表操作(至少在Lisp和Scheme中是这样),而且由于它的语法,它还适用于数学计算。Scheme、Lisp和Haskell都有一种语法,使得数学计算易于阅读。我要补充的最后一点是,函数式语言是非常有趣的语言。我的计划课程是我玩得最开心的课程之一。

票数 51
EN

Stack Overflow用户

发布于 2008-12-29 20:17:54

我自己对此做了一些研究,我想我可能会将并发性添加到使用函数式语言的原因列表中。看,在不久的将来的某个时候,使用相同的cpu技术将无法提高处理器的速度。架构的物理特性不允许这样做。

这就是并发处理的用武之地。

不幸的是,由于数据之间的相互依赖性,大多数OOP语言不能同时利用多个处理器。

在纯函数式编程语言中,计算机可以同时运行两个(或更多)函数,因为这些函数不会改变外部状态信息。

这是一个关于函数式编程的excellent article,你可能会喜欢。

票数 102
EN

Stack Overflow用户

发布于 2008-12-29 14:17:06

实际上,在PP中可以做的所有事情都可以在FP中完成,同样的事情也可以在FP中完成。这只是另一种编写代码的方式--对问题的另一种看法和解决问题的不同方式。

然而,因为使用FP的人不多,所以问题更多的是缺乏良好的库、可移植性/可维护性(因为维护者更有机会理解用C++编写的东西),以及缺乏文档和社区。我知道有一些文档,但是,将其与C++、C#或Java进行比较,您就会明白我的意思。

然而,如果你真的想做FP,你甚至可以在C++和C#中使用这种风格。当然,如果你使用标准库,它不会是100%的FP。不幸的是,我不认为C#针对函数式编程进行了优化,它可能会产生很多性能问题。

这更多的是一个主观的帖子,我对FP的看法。这不是一个严格的声明。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/397425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档