is squeak really object oriented ?

diegogomezdeck at consultar.com diegogomezdeck at consultar.com
Sun May 25 06:54:47 UTC 2003


Hola Andres,

Good thoughts! I like them... And I agree on 99% of them, let me talk about
the 1%.

> Hi.
>
> > hi. I've got a strange question: is squeak really an object oriented
> > system or it only claims it is? the point of the question is that
> > instead of working with objects, i work mostly with text. the
> > objects are in fact only in my head, as a consequence of reading
> > sources of objects which are in the browser. <snip>
> > another problem is that when i am writing the source code of an
> > object, i do not work with objects again. i only manipulate text and
> > imagine those objects <snip>
>
> Objects represent distinctions in the sense that you cut the whole
> universe into THIS and NOT THIS.  Of all possible things, you
> distinguish THIS from NOT THIS.
>
> The distinctions you make are based on your intentions.
>
> Although you can replicate a network of distinctions connected by
> messages which carry the information around, you cannot (so far) put
> your own intentions in the machine and let them do the work.  That
> could be why you feel you're working with "text".
>
> In order for your network of distinctions and messages to be
> understandable to others, you need to write your code in a way that
> hints others about what your intentions were.  Hence the emphasis on
> intention revealing code.

The first comment here is: What means "code" in this context?

I found that most of people stuck on the meanings of "some text in a free
context gramatic".  I only want to say that "code" is more than just the
previous definition.

> > giving objects names and them using those names is just one way of how
> > to interconnect those objects. i want to work with objects not with
> > their names, so why should i give names to objects anyway.
>
> How are messages going to be sent from a context in which you can't
> distinguish between the recipient and everything else?

Here is exactly the 1%  :)

To give to an object a name is a posibility, but it's not the only option
(remember how the babies point with a finger to the milk-bottle).  There
are differents ways to focus our mind on an object instead of another.

> The
> distinctions corresponding to the recipients must be named, so the
> distinctions you made can be preserved in the code as a reflection of
> your intentions.

Here I see "competition" between "must be named" vs. "can be preserved".

Giving names to objects is a tool, but I don't feel it as a "must".

> Strictly speaking, objects don't exist.  What does exist are
> distinctions based on the observer's intentions.  You name
> distinctions, not objects.
>
> Andres.

Thanks for your email,

Diego





More information about the Squeak-dev mailing list