Most of us write imperative applications, where statements are required in order to change the application state. The code is executed and a final state is arrived at. After the state's computation, the state does not change when the underlying factors do. Let's consider the following code as an example:
int value1 = 5; int value2 = 10; int sum = val1 + val2; System.out.println(sum); // 15 value1 = 15; System.out.println(sum); // 15
The sum is still 15, even though value1 has been changed.
On the other hand, reactive programming is about the propagation of change. It is also referred to as declarative programming, where we express our intent and application state as dynamically determined by changes to underlying factors. ...