Разница между реактивным и функционально-реактивным программированием


Я недавно проводил некоторые исследования в области реактивного программирования, и мне трудно найти хорошее описание разницы между реактивным и функциональное-реактивная.

просто ли реактивное программирование реализуется с использованием функциональных методов / парадигм, а не с использованием декларативных или ОО-парадигм?

2 56

2 ответа:

функциональное реактивное программирование (FRP) - это конкретная модель программирования с определенной семантикой. (На самом деле, есть два варианта, которые иногда называют "классический FRP" и "Стрелка FRP".) Я дал резюме в ответ на вопрос "Что такое (функциональное) реактивное программирование?". Как я уже сказал, два ключевых свойства для меня всегда были (а) точным и простым обозначением и (Б) непрерывным временем. Я сожалею, что эта модель стала называться " функциональное реактивное программирование", по нескольким причинам:

  • Это имя опускает "время", и время является центральным для меня.
  • термин "функциональный" имеет так мало конкретного/ясного значения. Я предпочитаю предложенную Питером Ландином замену "денотатив". (См. кавычки и ссылки в это комментарий к блогу.)

для описательность и точность, я предпочитаю термин " денотативное Программирование непрерывного времени "(предложенный Джейком Макартуром в разговоре некоторое время назад) над"функциональным реактивным программированием".

Я написал очень короткую статью о происхождении FRP в блоге раннее вдохновение и новые направления в функциональном реактивном программировании.

FRP-это комбинация функционального программирования (парадигма программирования, построенная на идее, что все является чистой функцией) и парадигмы реактивного программирования(построенная на идее, что все является потоком (наблюдатель и наблюдаемая философия)). Считается, что это лучший из миров.

определение обоих дает более четкое различие между ними.