j
: Next unread message k
: Previous unread message j a
: Jump to all threads
j l
: Jump to MailingList overview
Craig Latta wrote:
I do think it's a mistake to think that classing is a required "first principle" of object-orientation; it's just a implementation detail supporting method lookup that's been around for a long time. (The really important things for me are messages and autonomous computational units of state and behavior.)
I agree with this. I wanted to point out a very common and annoying problem with a lot of Smalltalk code.
Every object has a "hidden" instVar that points to it's class. The mandates of OO say that we should consider this slot "private". Yet Object implements the #class method to turn it into essentially a public instance variable (fortunately read-only). This seems to "encourage" code that makes decisions based upon the class of an object. (Just look at senders of class and isKindOf:, compared to the less intrusive respondsTo:. I'm not talking about tools such as the debugger & inspector for which sending #class makes sense.)
-- Mike Klein
squeak-dev@lists.squeakfoundation.org