Yet another approach to trying to understand the idea of object-oriented programming is to place it in a historical perspective.
People have always tried to use computers to solve problems that were just a little more difficult than they knew how to solve. Therefore, there has been a long tradition of looking for mechanisms to help manage an ever increasing level of complexity.
The idea that we have a ``software crises'' came about at a NATO meeting in 1968. What the term really represented was a realization that the most significant problems in software development were not algorithmic in nature, but were caused by communication difficulties and the management of complexity of large multi-person programming teams.
If we therefore examine the history of mechanisms people have used to address the problem of complexity we can better appreciate the role of OOP.