Object-Oriented Programming (OOP) was specifically designed to manage software complexity by organizing code into reusable objects with encapsulated data and behavior. OOP doesn't aim to increase complexity (which would be counterproductive) nor is it primarily about implementing procedures (that's procedural programming). The core philosophy of OOP is complexity management through abstraction, inheritance, and encapsulation.