Coping with Complexity

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.

[audio] 31 [real] 31 Text to accompany slide 31, in Chapter 1 of An Introduction to Object-Oriented Programming