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. The problem is best described as several computations that depend on the output of one another, but if several may be executed independently 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 a conventional way, the methods f1
to f5
will be invoked one after the other. If we have multiple processors and we are able to make the execution parallel, we may also perform some of the methods 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...