Summary
As we were reading through this chapter and seeing some of the advantages that POP has over OOP, we may think that POP is clearly superior to OOP. However, this assumption would not be entirely correct.
OOP has been around since the 1970s and is a tried and true programming paradigm. POP is the new kid on the block and was designed to correct some of the issues with OOP. I have personally used the POP paradigm in a couple of projects and I am very excited about its possibilities.
OOP and POP have similar philosophies, such as creating custom types that model real-world objects, and polymorphism to use a single interface to interact with multiple types. The difference is how these philosophies are implemented.
To me, the code base in a project that uses POP is much safer, easier to read, and easier to maintain as compared to a project that uses OOP. This does not mean that I am going to stop using OOP altogether. I can still see plenty of need for class hierarchy and inheritance...