Is our world just a collection of states? No. Then why do all the programming paradigms represent our world as a series of states? Can’t we reflect objects that are real, moving, and continuously changing state in programming? These are the questions that have interested me ever since I first learned programming.
When I started working as an Android developer, these questions continued to plague me, but got some friends as well. Why do we need so many loops in an application? Isn’t there anything to replace the iterators? Also, for Android applications, we must keep a lot of things in mind, as the processors and RAM in a mobile device are not as powerful as those in your PC. There is often an Out of Memory Exception if you do not structure your projects well. So, if we could have less iterators in our program, the UX will significantly improve, but, how do we do it? How do we replace iterators, and with what?
One fine day, I read a blog post about reactive programming and the ReactiveX Framework, (most probably by Thomas Nield, thanks to him), and it gave me a glimpse of the answers to all my questions. So, I started learning reactive programming.