数据流编程和响应式编程有何区别?

32

我真的看不出它们之间有什么区别。它们都涉及到指令中数据流动和输入数据更改的传播。 我阅读了Matt Carcki撰写的此书,它清楚地表明它们是一样的。另一方面,维基百科将响应式编程确立为数据流编程的一种形式,这个StackOverflow答案也是如此。

那么,响应式编程和数据流编程之间的概念差异是什么?


我认为这个问题基于观点,你的链接也证明了这一点。问题其实在于定义上,维基似乎将“反应”与数据流图的更新速度联系起来。 - kabanus
1
这个问题已经在计算机科学StackExchange上得到了解答:https://cs.stackexchange.com/questions/45560/flow-based-vs-reactive-programming-paradigms - Magne
1个回答

1

响应式编程是一种数据流编程形式。但它也是一种以数据流传播变化为导向的范式。

就像维基页面上给出的例子:

a:=b+c表示a被赋予b+c的结果,即在表达式被评估时,a的值被赋值,之后,b和c的值可以更改,而不会影响a的值。然而,在响应式编程中,只要b和c的值发生变化,a的值就会自动更新,而无需再次执行a := b + c语句。

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


6
我觉得你描述的是命令式和响应式/数据流之间的区别,而不是数据流和响应式之间的区别。 - Erik Kaplun

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接