To understand what reactive programming is, let’s contrast it to imperative programming. Imperative programs can be read top-to-bottom, with occasional jumps. Jumps are
if statements, loops and procedure calls. Program is executed line by line. If you see
x = y + z, the expression on the right is evaluated once. Then the symbol on the left is modified. If you change the value of
z in the next line, obviously, it won’t affect
x. Compare it to a spreadsheet. Yes, an Excel file. It’s obvious that changing any cell immediately propagates to all cells that depend on it, right? The process continues until all affected cells are updated. Essentially, every spreadsheet is internally represented by a dependency graph. We declare which pieces of data depend on which. The rest happens automatically. This approach to developing software is called… reactive programming.
- Reactive programming in Wikipedia