繁体   English   中英

反应式和函数式反应式编程的区别

[英]The difference between Reactive and Functional-Reactive programming

我最近一直在对反应式编程进行一些研究,我发现很难找到对反应式和函数式反应式之间区别的很好的描述。

反应式编程是使用函数式方法/范式而不是使用声明式或面向对象范式来实现的吗?

函数式反应式编程(FRP)是一种具有特定语义的特定编程模型。 (实际上,有两种变体,有时称为“经典 FRP”和“箭头 FRP”。)我在“什么是(函数式)反应式编程?”的回答中给出了一个总结。 . 正如我在那里所说的,对我来说,两个关键属性一直是 (a) 精确和简单的外延和 (b) 连续时间。 我很遗憾这个模型被称为“函数式反应式编程”,原因如下:

  • 这个名字省略了“时间”,时间对我来说是核心。
  • “功能性”一词几乎没有具体/明确的含义。 我更喜欢彼得兰丁建议的替代“外延”。 (请参阅此博客评论中的引用和参考。)
  • 人们很容易错误地认为他们知道该术语的含义,因为他们知道(或多或少)三个词的含义。

为了描述性和准确性,我更喜欢术语“指示性连续时间编程”(由 Jake McArthur 在不久前的一次对话中提出)而不是“函数式反应式编程”。

我在博客文章早期灵感和函数式反应式编程的新方向中写了一篇关于 FRP 起源的简短文章。

FRP 是函数式编程(建立在一切都是纯函数的思想之上的编程范式)和反应式编程范式(建立在一切都是流的思想(观察者和可观察哲学)之上)的组合。 它被认为是两全其美的。

两者的定义更清楚地区分了两者。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM