首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应性编程是否与函数式规划有界?

反应性编程是否与函数式规划有界?
EN

Stack Overflow用户
提问于 2013-11-08 13:22:43
回答 5查看 3.4K关注 0票数 14

我想知道反应性编程是如何与函数式编程联系在一起的。

大多数论文将“反应性程序设计”称为“功能反应程序设计”。

反应性编程可以在函数式程序设计之外实现吗?

用函数式语言编写反应式程序比较容易吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-11-08 13:54:57

我使用我所称的反应性编程或赛达 (阶段性事件驱动体系结构),但在函数式编程方面使用的并不多。http://www.slideshare.net/PeterLawrey/writing-and-testing-high-frequency-trading-engines-in-java

虽然在功能上编写反应性程序更容易,但使用函数式编程编写它们以更快地执行并不容易。重用可变状态通常比一直创建新的不可变对象快2-5倍。因此,如果您使用反应性编程来提高性能,我就不会使用函数式编程。

开发人员常常觉得他们必须使用多个线程或内核,因为他们在那里。这就像说你需要使用100%的磁盘空间,否则你就是在浪费它。

如果多线程提高了性能,并且这是实现这一改进的最简单的方法,那么您只应该增加多线程的复杂性。在关于使并发更容易的讨论中,人们经常忘记的是,最简单的解决方案是使用一个线程,而且,除非您已经证明了您的解决方案比这个更快,否则您不会让我相信使用多个线程是有帮助的。

票数 12
EN

Stack Overflow用户

发布于 2013-11-08 14:02:09

我猜你是在上奥德斯基/梅耶尔/库恩的反应式编程课程吗?然后你会在第一次会议上看到马丁·奥德斯基的解释:他使用字典中非常广泛的描述,即反应的意思是“随时对刺激作出反应”。因此,这是关于一个程序观察和等待一些刺激,它作出反应。

因此,从这个角度来看,反应是最重要的某种观察触发功能。当您可以组合它们(例如,映射事件或数据流变量)时,您可能会调用此"functional“,因为未来的一组值被声明为事件起源值的函数。

另一方面,函数式反应编程或FRP是由Conal Elliott和Paul创造的一个术语(最初是指功能反应动画,因为它指的是图形界面)。它与他们的工作和Haskell编程语言紧密相连。

许多实现反应性思想的图书馆(例如,见关于反应性编程的WP文章)与FRP共享事件组成方面,但它们不一定扩展到对事件起补充作用的FRP的分析/连续信号或“行为”。

你会发现,有些人声称,不遵守标准玻璃钢的反应性编程--例如,在使用演员或频道时--是在“窃取”该标题的“真正承担者”的术语。因此,这种讨论很容易成为意识形态。在意识形态的另一面,你会发现反应性经常被用作一个新的热门词。“反应性宣言”(…宣言)真的!?你甚至可以在…上签名)可能就是这方面的一个例子。

票数 4
EN

Stack Overflow用户

发布于 2013-11-12 10:02:38

对我来说,这个“反应宣言”只是一个时髦的词。自80年代以来,Erlang一直在为免费的-and默默地实现这一目标-。

我想说,在函数式编程中更容易遵循反应性原则,因为FP通常包含不变的状态和免费的副作用函数。这意味着更容易实现并发、分布式并行系统。

使用共享状态、线程、锁、信号量实现“反应性”系统祝好运。你知道,他们说只有两个人才能使Java并发系统正确,Doug和Brian。

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

https://stackoverflow.com/questions/19860132

复制
相关文章

相似问题

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