簡體   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