java - 响应式(Reactive)编程是否受限于函数式编程?

标签 java scala functional-programming reactive-programming paradigms

<分区>

我想知道响应式编程与函数式编程有何关联。

大多数论文将“响应式(Reactive)编程”称为“函数式响应式(Reactive)编程”。

是否可以在函数式编程之外实现响应式编程?

用函数式语言编写响应式(Reactive)程序更容易吗?

最佳答案

我使用所谓的响应式编程或 SEDA (Staged Event Driven Architecture)但我在函数式编程方面用得不多。 http://www.slideshare.net/PeterLawrey/writing-and-testing-high-frequency-trading-engines-in-java

虽然以函数式方式编写响应式(Reactive)程序更容易,但通过使用函数式编程来编写它们以提高执行速度并不容易。重用可变状态通常比始终创建新的不可变对象(immutable对象)快 2-5 倍。因此,如果您使用响应式编程来提高性能,我不会使用函数式编程。

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

恕我直言,如果它提高了性能,你应该只增加多线程的复杂性,这是实现这种改进的最简单方法。在关于使并发更容易的讨论中经常被遗忘的是,最简单的解决方案是使用一个线程,并且,除非你已经证明你的解决方案比这更快,否则你没有说服我使用多个线程是有帮助的。

关于java - 响应式(Reactive)编程是否受限于函数式编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19860132/

相关文章:

scala - 将多个 Future[Seq] 连接成一个 Future[Seq]

java - 如何从 Java 调用具有数字参数的 Scala 方法

java - Java 的Optional 上的get() 危险吗?

list - 添加两个不同大小列表的内容 haskell

java - 如何测试服务器性能?

java - 如何在 spring boot 中生成 soap web 服务?

scala - 在Scala中使用flatMap时,如何将两个Option [String]变量合并为一个?

Java 将 DateFormat 时区设置为 GMT+1

java - 是否可以在实例化期间指定 schema_name?

scala - 在 scala 中编写 apply 风格的函数