The Pros and Cons of Object-Oriented Software Engineering.
If we trace our steps down the spiraling routes of software history, searching for the origin of the object oriented programming, we will notice that it was back in 1967 that the first object-oriented ideas emerged. The advent of these new concepts took place in the context of the language Simula67, which was created in order to satisfy the growing need that the scientific community was experiencing with regard to a language for a simulation modeling. However, a gradual evolution, which spanned more than 20 years, could be observed before the new object oriented approach became widely applied. Ever since its origin about four decades ago, the object technologies have been gradually replacing the classical software development approaches, and it was in the 90-ies, that object-oriented software engineering turned into the paradigm of choice for the majority of software builders. Naturally, the question concerning the reason for this gradual transition to object-oriented technologies is to arise and there is still no clear-cut answer to it. Some people simply speculate that most software professionals crave for novelties in the software engineering arena, but this view is usually targeted as being overly simplistic. The true reasons are therefore usually sought in the number of internal benefits that provide advantage at both the technical and management levels, to which the sweeping Object-Oriented phenomenon naturally leads. In this paper I am trying to pinpoint most of the pros and cons to adopting the object-oriented approach and try to determine why the advantages seem to take the upper hand in the fierce struggle with the disadvantages.
2. Object-Oriented Concepts.
It is natural to begin our discussion of object-oriented software engineering with addressing the term object-oriented and try to dispel any confusion that might arise with respect to notions such as an object, an object-oriented viewpoint, object-oriented methods, etc.