Reactive Programming wird in einschlägigen Quellen oft als das nächste große Programmierparadigma beschrieben. Eine der häufigsten Beschreibungen von Reactive Programming ist, dass Reactive Programming aus der Kombination von Immutable Streams und propagation of change besteht. Bei dem Begriff propagation of change, der Verbreitung von Änderungen, denkt man direkt an das Observer-Pattern, welches in diesem Vortrag klar von Reactive Programming abgegrenzt wird. Mithilfe von kleinen Beispielen wird das Prinzip von Observables, eine der Grundsteine des Reactive Programming betrachtet. Dabei tauchen alte Bekannte, wie Lambda-Expressions und Map/Reduce auf. Natürlich existiert bereits ein Manifest, welches beschreibt, was ein Reaktives System ist: Responsiv, Widerstandsfähig, Elastisch und Nachrichtengetrieben. Nach diesem Überblick stellen wir uns folgende Fragen:
- Ist Reactive Programming überhaupt ein neues Paradigma?
- Wie testen wir Reaktive Systeme?
- Wer hat die Kontrolle über Reaktive Systeme, wenn alles auf ständiger Veränderung basiert?