web-dev-qa-db-fra.com

La différence entre la programmation réactive et fonctionnelle-réactive

J'ai fait récemment des recherches sur la programmation réactive et j'ai du mal à trouver une bonne description de la différence entre Réactif et Fonctionnel - Réactif.

Est-ce simplement que la programmation réactive est implémentée à l'aide de méthodes/paradigmes fonctionnels par opposition à l'utilisation de paradigmes déclaratifs ou OO?

69
seadowg

La programmation fonctionnelle réactive (FRP) est un modèle de programmation spécifique avec une sémantique spécifique. (En fait, il existe deux variantes, qui sont parfois appelées "FRP classique" et "flèche FRP".) J'ai donné un résumé dans ne réponse à "Qu'est-ce qu'une programmation réactive (fonctionnelle)?" . Comme je l'ai dit ici, les deux propriétés clés pour moi ont toujours été (a) une dénotation simple et précise et (b) un temps continu. Je regrette que ce modèle soit appelé "programmation réactive fonctionnelle", pour plusieurs raisons:

  • Ce nom omet le "temps", et le temps est central pour moi.
  • Le terme "fonctionnel" a si peu de sens spécifique/clair. Je préfère de beaucoup le remplacement proposé par Peter Landin "dénotatif". (Voir les citations et la référence dans ce commentaire de blog .)
  • Il est facile pour les gens de penser à tort qu'ils savent ce que signifie le terme parce qu'ils connaissent la signification (plus ou moins) de chacun des trois mots.

Pour la descriptivité et la précision, je préfère le terme "programmation dénotative en temps continu" (suggéré par Jake McArthur dans une conversation il y a un certain temps) à "programmation réactive fonctionnelle".

J'ai écrit un très court article sur l'Origine du FRP dans le billet de blog Premières inspirations et nouvelles directions dans la programmation réactive fonctionnelle .

65
Conal

FRP est une combinaison de programmation fonctionnelle (le paradigme de programmation construit sur l'idée de tout est une fonction pure) et de paradigme de programmation réactive (construit sur l'idée que tout est un flux (observateur et philosophie observable)). Il est censé être le meilleur des mondes.

La définition des deux donne une distinction plus claire entre les deux.

15
kg11