Professional programming is hard: dealing with large amounts of data, network requests which can fail in umpteen bizarro ways, and Gordian Knot style interdependencies. And then, to top it all off, there's all those different programming paradigms to choose from.
For example, in passive programming, communication between program modules happens through public function/method calls.
In reactive programming, communication occurs through publishing events to which subscribers react.
Both styles of programming differ in how they manage state [responsibility]. Both styles differ in how dependencies are expressed. And both styles differ in the strains put on you, the put-upon, well-paid programmer, trying to construct a mental model of the code and its interactions.
In the July/August issue of acmqueue, Andre Medeiros proposes that modules employ both approaches in Dynamics of Change: Why Reactivity Matters — Tame the dynamics of change by centralizing each concern in its own module (open, DOI: 10.1145/2956641.2971330) (DX). He provides an introduction to the two approaches — their advantages and shortcomings — and then illustrates how combining the two provides a clearer presentation of state for the developer.
(Score: 2, Interesting) by Anonymous Coward on Thursday August 25 2016, @09:34AM
Even worse. Looking at the examples in the article, this guy writes business software in Java and thinks that dependency injection somehow replaces event handling.
(Score: 2, Touché) by quietus on Thursday August 25 2016, @02:59PM
Whooossshhh!!!
(It never occurred to me that looking at the pics alone would be a good way to summarize an entire article. A brave new world opens.)