We are interested in understanding Stream programming. Yet, we haven't discussed anything regarding reactive programming. Though we haven't directly discussed it, this chapter gave us the orientation about different terms and concepts of reactive programming which we will be using throughout the book.
In this chapter, we discussed about changes in the development approach with programming paradigm to match the market requirements. We discussed about the imperative programming, its role in the application development, and its drawbacks. We then moved on to discuss the procedural programming and its approach in development. Our main motive was to discuss about functional programming and the concepts associated with it. We discussed about higher-order functions, function composition, function as value type, function laziness, operator fusion. We discussed these...