Chapter 5. A Modern Paradigm – Closures and Functional Programming
So far, we have been programming using the paradigm called object-oriented programming, where everything in a program is represented as an object that can be manipulated and passed around to other objects. This is the most popular way to create apps because it is a very intuitive way to think about software and it goes well with the way Apple has designed its frameworks. However, there are some drawbacks to this technique. The biggest drawback is that the state of data can be very hard to track and reason about. If we have a thousand different objects floating around in our app, all with different information, it can be hard to track down where the bugs occurred and to understand how the whole system fits together. Another paradigm of programming that can help with this problem is called functional programming.
Some programming languages are designed to only use functional programming, but Swift is designed...