Re: Entity and Identity

From: Nilone <>
Date: Sat, 25 Jul 2009 01:34:46 -0700 (PDT)
Message-ID: <>

On Jul 25, 12:18 am, rp_at_raampje.(none) (Reinier Post) wrote:
> Nilone wrote:
> >[...]  OO always needs another paradigm to ride,
> >since it isn't a model of computation but a broken type system mixed
> >with a module system.  [...]
> You mean abstract data types?

What I said there is confused and inaccurate. State machines obviously are a model of computation.

OO classes are used to create data types, since encapsulation, constructors and attributes are necessary features to create data types. However, it fails as a type system since it allows subtypes to be defined that breaks the original type. It also allows for the creation of reference types, which is an oxymoron.

> OO adds inheritance; is that where it breaks?
> (BTW I agree with your criticism of inheritance.)

Implementation inheritance copies executable code across the interface of the class and invites programmers to assume more than promised by the interface.

My rant was against OO classes when used as a type system, although my sloppy use of the term OO made it seem like more. Received on Sat Jul 25 2009 - 10:34:46 CEST

Original text of this message