86

私は最近リアクティブプログラミングについていくつかの研究を行っていますが、リアクティブと関数型リアクティブの違いについての適切な説明を見つけるのは難しいと感じています。

宣言型またはOOパラダイムを使用するのではなく、機能的なメソッド/パラダイムを使用してリアクティブプログラミングを実装するだけですか?

4

2 に答える 2

80

関数型リアクティブプログラミング(FRP)は、特定のセマンティクスを持つ特定のプログラミングモデルです。(実際には、「クラシックFRP」と「アローFRP」と呼ばれることもある2つのバリエーションがあります。)「(関数型)リアクティブプログラミングとは」に対する回答に要約を示しました。。私がそこで言ったように、私にとっての2つの重要な特性は、常に(a)正確で単純な表示と(b)連続時間でした。このモデルが「関数型リアクティブプログラミング」と呼ばれるようになったのは、いくつかの理由で残念です。

  • その名前は「時間」を省略していて、時間は私にとって中心的です。
  • 「機能的」という用語は、具体的/明確な意味がほとんどありません。私はピーター・ランディンが提案した「外延的」な代替品を大いに好みます。(このブログコメントの引用と参照を参照してください。)
  • 3つの単語のそれぞれの意味(多かれ少なかれ)を知っているので、人々はその用語が何を意味するのかを知っていると誤解しがちです。

説明性と正確さのために、私は「関数型リアクティブプログラミング」よりも「外延的連続時間プログラミング」(しばらく前の会話でジェイクマッカーサーによって提案された)という用語を好みます。

FRPの起源についての非常に短い記事をブログ投稿に書きました。関数型リアクティブプログラミングの初期のインスピレーションと新しい方向性です

于 2011-03-22T04:43:19.190 に答える
29

FRPは、関数型プログラミング(すべてが純粋関数であるという考えに基づいて構築されたプログラミングパラダイム)とリアクティブプログラミングパラダイム(すべてがストリーム(オブザーバーおよび観察可能な哲学)であるという考えに基づいて構築された)の組み合わせです。それは両方の世界の最高であると思われます。

両方の定義は、2つの間のより明確な区別を与えます。

于 2017-12-08T18:53:30.637 に答える