the monopoly of classes
jan ziak
ziakjan at host.sk
Fri May 23 01:46:27 UTC 2003
On Thu, 22 May 2003 19:37:56 -0500 (CDT), Aaron J Reichow wrote
> On Thu, 22 May 2003, jan ziak wrote:
>
> > i think there would be. you see, i have encountered some problems when
> > working with class-ified object orientied languages and i think that those
> > problems would have been solved if i had the option to choose whether to
> > subclass or to create a "bare" object.
>
> I'm not sure if you understand how Squeak or Smalltalk works. It
> would be possible to create bare object in Squeak, but the object
> would NOT be useful. Squeak is a system which implements the language in
> itself- it is a Smalltalk system written in Smalltalk. It is not
> Ruby or Python or C++, where the bulk of the language is all written
> in C, with all the support for the existence of objects, sending
> methods, etc. In Squeak, all of this is dependent on the Smalltalk
> language itself. The classic paradox of Classes... Every object has
> a class. Classes themselves are objects. A classes's class is
> another object which in turn ... has its class.
>
... and C compiler is written in C compiler. but this is what i want to
mention: squeak is not written in squeak, C compiler is not written in C
compiler. in both cases, both objects are DISTINCT and not the same. it seems
that you do not want to try to look at things (just for a while) in the way i
view them: according to my opinion, it is impossible to really write squeak
in squeak (similarily with the problem of self-reproduction). squeak is
written in a system that incidentially has the name "squeak" - nothing more,
nothing less.
> > c++ is not an object oriented system (my opinion), so you cannot use it
> > as an argument.
>
> Heh. Your opinion seems that nothing is an object oriented system except
> the real world. You could reduce any possible debate into such
> sillyness- what's the point?
>
> > all i want to have is: objects and myself, and nothing else. i have not
said
> > that one of the objects cannot be object "class", i asked why must all
> > objects in the system share the same common behavior of object "Object".
for
> > example, SmallInteger is a subclass of Object - but the consequence is
that
> > SmallInteger-s have functionality which Object has but which has not been
> > included in class Object in conjunction with SmallInteger-s. For example,
> > class Object has method with selector "at:put:", but this method has
nothig
> > to do with Object nor with SmallInteger - that selector should not have
been
> > there.
>
> With Squeak you have objects and nothing else.
>
> No one has said that there isn't kruft in Squeak- there most
> certainly is. Object>>#at:put: may not be part of this kruft, I've
> not looked into see what it does. However, since a SmallInteger is
> *an Object* it only makes sense for all SmallIntegers to inherit the
> functionality Objects have.
>
so why i cannot "turn off" the #at:put: method in SmallInteger ? i say you
why: because of the subclassing and the way how it is used. wouldn't it be
nice to have the option to decise whether i want to inherit a method or not ?
i think it would be nice, but i have never seen any class-fied object
oriented system capable of it. this is also one of the points of my critique
of "bare" subclassing.
> Regards,
> Aaron
>
> Aaron Reichow :: UMD ACM Pres ::
> http://www.d.umn.edu/~reic0024/ "the question is no longer between
> violence and non-violence; It is between non-violence and non-
> existence." :: martin luther king junior
More information about the Squeak-dev
mailing list
|