In object-oriented programming one distinguishes two kinds of languages. Class-based languages are centered around the concept
of classes as descriptions of objects. In object-based languages the concept of a class is substituted by constructs for the
creation of individual objects. Usually, the object-based languages attract interest because of their “simplicity”. This paper
contains a thorough denotational analysis which reveals that simplicity is quickly lost if one tackles verification issues.
This is due to what is sometimes called “recursion through the store”. By providing a denotational semantics for a simple
class-based and a simple object-based language it is shown that the denotational semantics of the object-based language needs
much more advanced domain theoretic machinery than the class based one. The gap becomes even wider when we define concepts
of specification and appropriate verification rules.
partially supported by the EPSRC under grant GR/R65190/01 and by the Nuffield Foundation under grant NAL/00244/A