is squeak really object oriented ?

Sean Charles bibbers at onetel.net.uk
Thu May 22 22:01:27 UTC 2003


On Thursday, May 22, 2003, at 07:55 PM, 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.

Or are they instances of Character all organised neatly into a 
String?!?!?! The instant your finger hits that keyboard, there is a roller 
coaster ride of electrical activity, which results in that 'key' being 
'remembered' as a Character in a String in a PluggableTextMorph in a 
Workspace/String Holder/etc in a Squeak image in an OS on a computer 
underneath your finger. Nothing more, nothing less.

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

I have  never dared say this! I have a huge pile of essays and things I've 
written over the years all hanging around this sort of 'thing'. If there 
really is a God, then surely he must be 'information'. For information is 
everywhere, all pervasive, even if we are not aware of it. I even think of 
breathing and gaseous exchange as nothing more than information transfer. 
Your blood cells are the ultimate packet network. My head hurts. I'm pink 
therefore I'm S.P.A.M.

>  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.
I have never found a satisfactory answer as to *why* computers work. Sure,
  I know how they work, but *why* do they work. Anybody ever read 'Goidel 
Escher Bach - The Eternal Golden Braid', that's the closest I've ever come 
to finding a proof of why 2 + 2 equals four but I am not sure I fully 
understand, being only a bear of small brain. Why is the world such that I 
can write a program to calculate how many rolls of toilet paper I need to 
decorate my cell and it turns out to be accurate? There be magic in them 
there mathymatikal modeles. Ye wizards are neare...

Aristotle had a the notion of a 'perfect plan' for everything. Your chair 
you sit on started life as an idea in some designer's noggin. All ideas 
begin 'up there' in the Intangability Zone. Then, somebody takes some 
action and presto, a chair is presented in physical form. We are physical 
beings, doomed to exist in a physical world yet blessed with a brain and a 
konshusness (hey, if you can't spell, go owt in steyle!) Nobody knows what 
makes the world tick, it's all statistics apparently (otherwise known as 
damn lies). This is why reality often falls short of the ideal. Why toast 
lands buttered side down. Strapping it to the underneath of a cat and 
throwing the cat out of the window is just plain cruel. And no, the cat 
doesn't hover in mid-air as if caught in some quantum uncertainty as to 
land upside down or not. If it survives, it just may enjoy the toast...

The front page of the Times today carried a headline saying that Bhuddists 
hold the key to happiness, based on frontal lobe studies. They *know* that 
nothing lasts, self is an illusion, not a programming environment or a 
reserved word. Nothing is real, all is illusory, like a straight talking 
politician.

My brain and my computer operate on the same principle (my computer is 
probably more reliable long-term) which ultimately descends into 
logico-mathematical conundrums to do with strings, quantum fields and lies,
  sorry, statistics. Amazing-dude-man, David Deutsch (forgive me if that is 
spelt wrong!) and his ilk think now we might be living in a 'digital' 
universe where the smallest incremental unit is the Planck constant. Maybe 
that's why digital computers can exist at all?

>
> another problem is that when i am writing the source code of an object, i 
> do
> not work with objects again.
Did you ever work with them in the first place outside your head? OO is a 
_paradigm_, a *way of thinking*. WAY OF THINKING. The code(!) hard reality 
of our trade is just plain typing. Clacketty clack, don't delete that! 
That's what we have to do to turn our thoughts into a reality that can be 
manipulated by a computer.

> 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.
Now we are getting unstable! Then you would be working with some other 
*represenation* of objects. 3D perhaps, what about Play-Dough with 
embedded smart chips? You design a class with Play-Dough and the smart 
chips work out the code. (I tried this, sadly, the dough is a bad 
conductor)

Define 'object' ?!? Try this for a reality check. Get up and look at your 
computer screen / lcd from the other side. It's flat isn't it (lcd only 
here!) Now sit down in front of it again. Look at all those windows. 
Rubbish! There is *only* a collection of dots on a screen, maybe only one 
dot at a time on a CRT. The windows 'paradigm' is so strong that you 
actually believe you have a collection of stacked planes containing visual 
representations of some task expressable by a computer. It is _so_ strong 
though, maybe years of TV have conditioned us to thinking that 'reality' 
is available on a display device?

When I teach people how to program I tell them they are embarking on a 
study of the paranormal and the black arts! It never fails to maintain 
interest and I thoroughly believe that there is something surreal about 
'computer programming'. "Rule number one: a program cannot exist without 
data" I tell them. "Sort the data out first, then writing the program is 
easy(er)!" Is this rule not comparable to "Is there life without 
purpose?". The parallels are frightening, worthy of yet another Keanu 
Reeves movie at least. Maybe the Matrix is the Truth. Maybe we have been 
'allowed' to theorise and postulate endlessly (ouch, my infinitives are 
hurting)  as the ultimate form of mental masturbation to prevent us from 
awakening and discovering the real truth?

>
> so, is squeak for work with objects or with text ?
None. Neither. Both. All of the above. Squeak presents *you* with a 
*medium* in which you can express *intangible ideas*. Squeak lives on a 
disk on a computer. Squeak cannot exist without a physical machine. Is 
Squeak a meme? Are we all memes? The Smalltalk 'meme' must be a good one 
as it is now well over thirty years old and still alive and well and soon 
to become 'the next Java/C++' I read elsewhere.

>
> 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
Easy, cut and paste, after all, you are only dealing with text! It doesn't 
matter *how* you got those numbers, but while you have them in the 
'textual domain' you can easily copy them. If it's the method of 
generation that is important then that's another matter. Why can't you 
easily reproduce these numbers? Is it some kind of one-way process, do you 
work at CERN by any chance?

> (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.
Into the source code of that class or into *an instance* of that 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 ...".
>


> so, are we working with objects or just manipulating text ?
>
Yes and yes.

> 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.
>
Everything needs a name. Why did your parents give you a name? Maybe they 
just wanted to work with objects?? Names differentiate instances. I'm 
thinking now of an Arthur C. Clarke story about 'reciprocal names' but the 
title eludes me.

If you really want to work with *objects* then I can only recommend 
something like Mescalin / LSD / UK tax return forms to induce a higher 
state of being where thinking *F1* brings up an ethereal copy of Don 
Carlos's books about mexican medicine men for guidance.

Happy head bashing. Mine's done in after that...

Sean Charles.

PS: How do you know that this list isn't a big experiment set up just to 
fool you, laying in wait for years just for you to make that post with 
that question?

PPS: I hope this has been as much fun for you as it has been for me.



More information about the Squeak-dev mailing list