Open issues in object-oriented programming—A scandinavian perspective
Ole Lehrmann Madsen · Software Practice and Experience · 1995
We discuss a number of open issues within object-oriented programming. The central mechanisms of object-oriented programming appeared with Simula, developed more than 30 years ago; these include class, subclass, virtual function, active object and the first application framework, Class Simulation. The core parts of object-oriented programming should be well understood, but there are still a large number of issues where there is no consensus. The term object-orientation has been applied to many subjects, such as analysis, design implementation, data modeling in databases, and distribution. In this paper the term object-oriented programming is meant to cover all these subjects, since one of the advantages of object-orientation is that it provides a unified approach to these subjects. The issues being discussed in this paper are the following: modeling versus reuse as the main benefit of object-orientation; the need for a language independent conceptual framework; abstraction mechanisms for supporting object-oriented programming, including classification and composition, single and multiple inheritance, inner versus super, genericity versus virtual classes and issues related to typing; class-based versus prototype-based languages; and concurrency. The points of view presented in this paper reflect the author's background in the Scandinavian tradition as manifested in the BETA language and the Mjölner project.