Objectives

This section intends to render the discussion concerning the often referred to distinction between object-based and object-oriented, as originally presented in  [Wegner87]. Nowadays, this discussion is of interest primarily from a historical perspective. Following  [Wegner87], this section presents orthogonal dimensions of object-oriented language design. It also contains a discussion concerning open systems and dimensions of modularity, issues which are directly related to the motivations underlying the adoption of an object-oriented approach.

Points to emphasize

Hints

This section is rather philosophical in nature. Nevertheless, clarification of terminology is a goal worth striving for, as testified by the more recent efforts of the OMG. See section OMG.

Questions

  1. How would you characterize the difference between object-based and object-oriented?
  2. Along what orthogonal dimensions would you design an object-oriented language? Explain.

Comments

It is important to distinguish between the core object model offered by the majority of object-oriented languages and the extensions that allow for distribution and platform and vendor independent applications. See chapter 11.