Pau Daniels wrote:Thanks for the question!
The reactive programming paradigm is definitely a mind bender for newcomers. Since RxJS in Action is all about taking readers from zero to sixty (in programming terms at least) we knew that we were going to have to get people
to wrap their heads around reactive concepts as a whole. To achieve this we heavily focus the first three chapters on what it means to be reactive by exploring asynchronous vs synchronous data constructs, examining the tools that we use to build reactive code and constructing a high level mental model of how it all fits together.
Another big danger of diving into any new topic or paradigm is that a lot of code tends to get thrown at you at once and as developers we are really eager to jump right into...well...developing. Look at any online tutorial or readme and you will likely find code samples almost immediately. While this can be beneficial if you know what you are doing, beginners approaching the topic are often misled into emulating advanced code patterns that they don't fully understand, which leads to all sorts of misuse.
Our approach was to focus those first couple chapters on core concepts, with as few live code samples as possible, demonstrating mainly through pseudo-code and graphics we wanted to devote those first pages to really driving how the what and why of reactive programming without the distraction of the how. Once we have covered those core ideas then it becomes much easier to map code to them.