Reactive programming in a nutshell
Reactive programming is a paradigm that focuses more on where the data flows during computation than on how to compute the result. If the problem is best described as several computations that depend on the output of each other but several may be executed independent of the other, reactive programming may come into the picture. As a simple example, we can have the following computation that calculates the value of h
from some given b
, c
, e
, and f
values, using f1
, f2
, f3
, f4
, and f5
as simple computational steps:
a = f1(b,c) d = f2(e,f) k = f3(e,c) g = f4(b,f,k) h = f5(d,a,g)
If we write these in Java in the conventional way, the methods f1
to f5
will be invoked one after the other. If we have multiple processors and are able to parallelize the execution, we may perform some of the methods in parallel. This, of course, assumes that these methods are purely computational methods and do not change the state of the environment, and, in this way, can be executed...