Alfredo Novoa wrote:
> On 9 Dec 2004 11:10:48 -0800, "erk" <eric.kaun_at_pnc.com> wrote:
>
>
>>I'd say Luca Cardelli, Kim Bruce, Benjamin Pierce, and Ian Joyner are
>>far more "serious."
>
>
> Of course, I was thinking about the same names except Joyner who I
> still don't know.
>
>
>>Fowler is good at some practical applications of
>>O-O
>
>
> But terrible at systems architecture and information management.
>
> IMO he is one of the best examples of influential false experts in the
> industry.
>
>
>>, but he doesn't address fundamentals like variables vs. values vs.
>>objects, which are critical.
>
>
> And he still lives in the file procesing age (the stone age).
>
> But let's see how Kim Bruce defines some of the OO terms in
> "Foundations of Oject-Oriented Languages".
>
> Object:
>
> Objects encapsulate both state and behavior. In particular they
> consist of a collection of instance variables, representing the state
> of the object, and a collection of methods, representing the behavior
> that the object is capable of performing. The methods are routines
> that are capable of accessing and manipulating the values of the
> instance variables of the object...
> As is the case in Java and Smalltalk, we wil assume that all objects
> are implicit references...
>
> Class:
>
> Classes are extensible templates for creating objects, providing
> initial values for instance variables and the bodies for methods. All
> objects generated from the same class share the same methods, but
> contain separate copies of the instance variables. New objects can be
> created from a class by applying the new operator to the name of the
> class.
>
> I have not found any definition for instance variable, and the
> sloppiness and contradictions are evident.
>
>
> Regards
>
>
This is a bunch of BS, Alfredo. A defintion for instance variable if Kim
Bruce has not put it in, is trivial. It's a name "x" such that given a
reference to an object instance r, r.x can be used to denote the value
of the component x and can also be used on the left side of the
assignment to modify the value of the component x.
In other words the phrase r.x has to be valid and using Hoare triples
notation.
{(r instance of C) /\ (x instance_var_of C) }
r.x := new_value
{ r.x = new_value }
Now please give me the reference in the Third Manifesto where Date
defines what a variable is.
Received on Sun Dec 12 2004 - 18:46:57 CST