[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
|