is squeak really object oriented ?

Joshua 'Schwa' Gargus schwa at cc.gatech.edu
Fri May 23 03:19:54 UTC 2003


On Thu, May 22, 2003 at 09:55:29PM +0200, jan ziak wrote:
> 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. but the objects are not tangible, i cannot see them. for example, 
> let's take an instance of an OrderedCollection: this object is in fact not an 
> object but a textual representation of it, I cannot see the collection on my 
> workspace and must simulate all its behavior on my own and imagine it in my 
> head.
> 
> 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, but the objects are not on my workspace. i think that object 
> oriented programming should look like working with objects and not with text.

I am curious: what do you envision as the non-textual representation
of the number 2?  What about 324325435?

What does a collection of numbers look like?  What about a collection of 
324325435 numbers?

> so, is squeak for work with objects or with text ?
> 
> another example: suppose that, after 3 hours of hard experimentation, i have 
> finally obtained a list of numbers which contain the results of my 
> experiments. the numbers are of great signifance to me because i am totally 
> unable to replicate them (because i do not preciselly remember how i obtained 
> them for example). let the numbers be concentrated in an instance of 
> OrderedCollection. so i have an ordered collection instance and numbers in 
> it. as next, i want to incorporate my numeric list in a source code of some 
> class. wouldn't it be logical to simply insert a reference to my list into 
> the source code in places where i want to use my list object? in think that 
> the squeak system answers: "no it wouldn't. you must make a textual 
> representation of your object and ...".

Yes, that would be nice.  Maybe someday we'll figure out how to do it well.
If you have some concrete ideas about how to implement such behavior, I'd
love to hear them.

In the mean time, Squeak has the really nice feature that a lot of
basic objects such as Points, Arrays, Numbers, Symbols, Strings, and
probably more print themselves out in the same syntax as used to
create them.  So, if you have an ordered collection in a workspace,
you can highlight 'myOrderedCollection asArray', print it to get
something like #(1 2 3 4 5 6.66), and cut'n'paste the already
highlighted expression into your browser window.

Also, as others have mentioned, eToys and MorphicWrappers are worth
looking into.  I'm not sure if Self has been mentioned in these
threads, but it might be to your liking as well.

> so, are we working with objects or just manipulating text ?
> 
> 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.

I'm not sure what you mean by 'work with objects not with their
names'.  As others have noted elsewhere, not matter whether the object
appears as a textural name, a visual object, or a sound, they're all
just ways of interacting with an object, not the object itself.
Do you mean that you want to interact with visual representations
of objects?

Joshua

> 
> jz.
> 



More information about the Squeak-dev mailing list