Co to jest programowanie reaktywne?

Programowanie reaktywne to koncepcja informatyki, która opisuje właściwości komputerowego języka programowania, którego celem jest automatyczne utrzymanie statusu aplikacji w przypadku zmiany danych wykorzystywanych w programie. Jedną z głównych cech reaktywnego języka programowania jest to, że zadeklarowane i obliczone zmienne są stale przewartościowywane, gdy inne zmienne są używane do zmiany ich obliczeń. Oznacza to, że język reaguje na zmiany stanu danych, zamiast używać bardziej bezwzględnych poleceń do zarządzania tym stanem, jak ma to miejsce w przypadku wielu konwencjonalnych języków programowania. Teoretycznym rezultatem aplikacji wykorzystującej filozofie programowania reaktywnego byłby program, który stale i automatycznie zmienia wyświetlanie lub inne czynniki w oparciu o zmieniające się dane napływające do programu. Chociaż można zastosować kilka modeli programowania imperatywnego, aby uzyskać takie same wyniki jak programowanie reaktywne, celem stworzenia języka reaktywnego jest wsparcie zmian reaktywnych na poziomie pierwotnym, a nie na poziomie obiektu.

Jednym ze sposobów zilustrowania działania programowania reaktywnego jest porównanie go z programowaniem imperatywnym. Gdy dwie liczby są dodawane w imperatywnym języku, wynik dodawania jest zwykle przechowywany w określonej lokalizacji. Operacja ma miejsce w momencie wykonania polecenia, a wynik jest oddzielany od dwóch liczb dodanych w celu utworzenia sumy. Oznacza to, że jeśli jedna z dwóch dodanych liczb zmieni się po dodaniu, wartość sumy nie zmieni się, ponieważ została już zapisana i oddzielona od oryginalnych operandów.

 
Gdy reaktywny język programowania dodaje dwie zmienne w celu dokonania sumy, a jedna z dwóch zmiennych zmienia się później, suma ulega zmianie. Oznacza to, że reaktywny program może monitorować stan wykorzystywanych danych i automatycznie reagować na zmiany, które mogą zmieniać ogólny stan całej aplikacji. W programowaniu imperatywnym istnieje kilka modeli, w tym programowanie oparte na zdarzeniach i modele danych obserwatora, które mogą wykonywać te same zadania, tworząc struktury monitorujące zmiany danych. Jednak język reaktywny miałby wbudowane mechanizmy do tego celu.

Zastosowanie reaktywnego języka programowania może odbywać się w obszarach, w których wymagana jest interpretacja dowolnego strumienia danych w czasie rzeczywistym. Może to obejmować wizualizację naukową, graficzne interfejsy użytkownika (GUI), a nawet komunikację w czasie rzeczywistym, w której program zmienia się stale w zależności od otrzymanego strumienia danych. Należy jednak zauważyć, że tak naprawdę nie ma w pełni zaimplementowanych, niezależnych, reaktywnych języków programowania. Większość działających implementacji tej koncepcji ma postać bibliotek zewnętrznych dla bardziej tradycyjnych języków imperatywnych lub funkcjonalnych.

INNE JĘZYKI

Czy ten artykuł był pomocny? Dzięki za opinie Dzięki za opinie

Jak możemy pomóc? Jak możemy pomóc?