【问题标题】:What is the difference between Dataflow programming and Reactive programming?数据流编程和反应式编程有什么区别?
【发布时间】:2015-08-21 12:51:54
【问题描述】:

我真的看不出它们之间的区别。它们既是关于流经指令的数据,也是关于输入数据变化的传播。 我读过this book (authored by Matt Carcki),它清楚地表明它们是相同的。另一方面,wikipedia 将响应式编程确立为数据流编程的一种形式,this * answer 也这样做。

那么,反应式编程和数据流编程在概念上的区别是什么?

【问题讨论】:

  • 我认为这个问题是基于意见的,您的链接就是证明。这实际上是一个定义问题,wiki 似乎将“反应”与数据流图如何更新的即时性联系起来。
  • 此问题已在计算机科学 stackexchange 上得到解答:cs.stackexchange.com/questions/45560/…

标签: computer-science reactive-programming dataflow paradigms glossary


【解决方案1】:

反应式编程只是数据流编程的一种形式。但它也是一种范式,它围绕着变化与数据流一起传播

就像Wiki Page上给出的例子

a:=b+c 意味着 a 被赋值为 b + c 的结果,在计算表达式的那一刻,稍后,可以更改 b 和 c 的值,而不会影响一种。然而,在响应式编程中,只要 b 和 c 的值发生变化,a 的值就会自动更新,而无需程序再次执行语句 a := b + c。

这是两者之间的主要区别。它将变量与表达式绑定,系统对变量的变化做出反应,而无需一次又一次地运行表达式。

【讨论】:

  • 在我看来,您描述的是命令式和响应式/数据流之间的区别,而不是数据流和响应式
最近更新 更多