[squeak-dev] private instance variables NOT objects? (Wikipedia)

Eliot Miranda eliot.miranda at gmail.com
Mon Oct 25 21:52:15 UTC 2010


On Mon, Oct 25, 2010 at 2:49 PM, Eliot Miranda <eliot.miranda at gmail.com>wrote:

>
>
> On Mon, Oct 25, 2010 at 2:42 PM, Lawson English <lenglish5 at cox.net> wrote:
>
>>  On 10/25/10 2:23 PM, Bert Freudenberg wrote:
>>
>>
>>  On 25.10.2010, at 23:10, Eliot Miranda wrote:
>>
>>
>>
>> On Mon, Oct 25, 2010 at 1:59 PM, Lawson English <lenglish5 at cox.net>wrote:
>>
>>> In the Wikipedia entry on Smalltalk, there is this line in the history
>>> section, 3rd paragraph, added roughly a year ago:  "...Smalltalk-80 added
>>> [[metaclass]]es, to help maintain the "everything is an object" (except
>>> private instance variables) paradigm by associating properties and behavior
>>> with individual classes, ..."
>>>
>>>
>>> Is this one of those esoteric details that mere mortals are not meant to
>>> understand, or is this an error?
>>>
>>
>>  "(except private instance variables)" looks like a dig or a jibe.  I
>> would have put it
>>
>>   "...Smalltalk-80 added [[metaclass]]es, to help maintain the
>> "everything is an object" paradigm by allowing classes to have their own
>> specific state and behavior, ..."
>>
>> Perhaps they were trying to say that because Smalltalk lacks private
>> instance variables Smalltalk objects are not true objects, which is I
>> suppose arguable.  But it makes poor sense to state that private instance
>> variables aren't objects; public inst vars aren't objects either.
>>
>>
>>  It's plain nonsense. Here's the edit that added the "private instance"
>> modifier:
>>
>>
>> http://en.wikipedia.org/w/index.php?title=Smalltalk&diff=prev&oldid=280020438
>>
>>  Someone should just correct it.
>>
>>  So now I just confused (more). Instance variables are NOT objects in
>> Squeak?
>>
>
> No they're not.  They're elements of objects.  Instance variables contain
> references to objects but you can't send messages to instance variables,
> only to their contents.  In Smalltalk instance variables implement the state
> of objects while classes implement the behavior of objects.
>

I think that's sloppy language, Bert.  An instance variable is /not/ an
object.  An instance variable is a reference to an object.  variables !=
values.  Yes, it's complicated but the binding of names to values is
essential to programming languages.

best
Eliot


> HTH
> Eliot
>
>
>>
>> Lawson
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20101025/6113400b/attachment.htm


More information about the Squeak-dev mailing list