This document compares procedure-oriented programming and object-oriented programming. Procedure-oriented programming divides programs into functions, uses global data, and does not support overloading or access specifiers. Object-oriented programming divides programs into objects, supports access specifiers like public and private, allows overloading, and hides data to provide more security. The document provides examples of how object-oriented programming makes it easier to add new classes and update existing classes compared to procedure-oriented programming.