The winner is...
As we were reading through this chapter, and seeing the advantages that protocol-oriented programming has over object-oriented programming, we may think that protocol-oriented programming is clearly superior to object-oriented programming. That assumption may not be totally accurate.
Object-oriented programming has been around since the 1970s, and is a battle-tested programming paradigm. Protocol-oriented programming is the new kid on the block, and was designed to correct some of the issues with object-oriented programming. I have personally used the protocol-oriented programming paradigm in a couple of projects and I am very excited about its possibilities.
Object-oriented programming and protocol-oriented programming have similar philosophies, such as creating custom types that can model real-world or virtual objects. They both use polymorphism to use a single interface to interact with multiple types. The difference is in how we design the application.
In my opinion, the...