Design Principles Behind Smalltalk, Revisited (humor)
Paul D. Fernhout
pdfernhout at kurtz-fernhout.com
Wed Jan 3 14:54:35 UTC 2007
Laurence Rozier wrote:
> While there are certainly valuable insights in "Data & Reality" and I would
> agree that some data objects are merely "tools of thought", *many* objects
> have meaning and exist independent of our view/model. Quantum physics does
> tell us that the boundries of "things" are hard to define precisely but
> "things" themselves as aggregates are held together by forces of nature not
> by external views. A keyboard can be remapped in software and different
> people using it can have different views of the individual key "objects".
> Even the keyboard itself could be viewed differently - a word processor,
> game controller, or a cash register. However, any observer, human, machine
> or otherwise observer of measurable physical characteristics of the
> keyboard
> will not see any changes. The wave-functions underlying all of the
> sub-atomic particles making up that keyboard have a unique history going
> back at least to just after the big bang.
Thanks for the other comments.
On the "keyboard" analogy:
Consider if you move to a Dvorack layout on your keyboard instead of
Qwerty. Then you might need to pry off all the keycaps and move them
around. Suddenly you do not have "a keyboard". What you have is a
collection of keycaps (perhaps some broken in the process of removing
them) plus a base (perhaps with a keyboard switch or two damaged by
prying). Your mind has followed this situation, where something you
thought was an object has now been decomposed into multiple items, some of
which even have subitems or subareas which are not obviously removable
(broken switches soldered on the keyboard base) yet behave differently. To
model this requires a lot of subtly with boundaries not being obvious --
with the boundaries fluidly moving around depending on the questions we
have or the intent we have or the actions we take.
Or, what if, say, a rabid ocelot has just wondered into your office?
http://en.wikipedia.org/wiki/Ocelot
Suddenly your mental model of your entire office might shift to -- what
item can I throw at the foaming-mouthed ocelot to keep it away from me and
give me enough time to escape past it through the door? The closest thing
at hand is the keyboard. Suddenly your mental model of the keyboard needs
to switch from "data entry device" to "ocelot management system". You have
to think about issues like will the cable be long enough if I throw it
as-is or will the plug disconnect from the computer if hurled with enough
force? Or will the computer itself move with it if I toss it? And all in
an instant. So, suddenly your whole mapping of the possibilities and uses
of your keyboard needs to change, and in less time than it takes that
rabid ocelot to move from your door to your desk. A typical ST80
simulation of a computer could not be used in that way, but your mind can
do it easily and quickly.
So there is a gap here between the flexibility of the way your brain
models physical objects and processes and intent and the way we build
limited computer models using ST80. Your brain makes the switch in
microseconds; it might take weeks or months to change a simulation of a
keyboard as data input to keyboard as thrown object (let alone model a
rabid ocelot :-). And there remain subtle problems -- is the keyboard an
independent "object" if you have to think about the cable and how it is
attached to another independent "object, the computer? Perhaps this set of
problems is just solvable with a good class library; if so, I haven't seen
it yet. :-) Perhaps the latest version of Inform?
http://www.inform-fiction.org/I7/Inform%207.html
But even there, it seems like a lot of hand crafting of rules specific to
the needs of the story. Essentially, our minds' model of reality is much
more subtle and fluid than that of "object" even if we appear to be seeing
them all the time. And it works so well we don't even notice these abrupt
shifts in representation -- except perhaps when we laugh as a perspective
shifting joke. :-) Consider:
http://www.funsulting.com/september_2004_newsletter.html
From there: "Illegal aliens have always been a problem in the United
States. Ask any [American] Indian."
Our mind has a much deeper and greater and more flexible command of the
notion of "objects" and "classes" in relation to "need" or "intent" than
the Smalltalk environment has, at the very least. And these perspective
shifts are often the basis of creativity. And it is exactly enhancing
creativity which is Smalltalk's stated design goal. So maybe we need a
software modeling environment for modeling jokes about objects and
classes. :-) Again from the above link: """Research has linked the
creative and humor portions of our brains. Several studies showed that
humor leads to creativity. One of the most creative uses of humor is seen
in the comedic style of Stephen Wright. His one liner’s take normal
everyday concepts and show us a creative, and playful, way of seeing them.
Here are some examples:
“I spilled Spot Remover on my dog... Now he's gone.”
“I went to a general store. They wouldn't let me buy anything specifically.”
Many of us hear his jokes and immediately see the humor in the different
perspective. Interestingly, by exposing ourselves to this kind of humor,
we are also more likely to be creative. Since the creative process
involves seeing new things or new points of view, humor is a logical jump
starter to creativity."""
Maybe, ultimately, the problem with Smalltalk and its very rigid class
based view of the world is it is too serious a programming environment?
Maybe it needs to lighten up a little? Learn to laugh at itself? :-)
How would one even begin to tell a joke (and get laughter in response) in
Smalltalk-80?
As someone else in the thread put it, it is a general principle of
mathematical model building what we are just making a simplification of
reality for our purposes. I'll agree, but I will still not let Smalltalk
off the hook -- since our mind is able to build and rebuild these models
seemingly in an instant -- even in the punch line of a joke -- whereas
Smalltalk coding takes a long time. And I only hold ST80 to such high
standards as it aspires to them (forget about C++; no hope of a sense of
humor there. :-) '
There is some sort of mismatch going on here between the mind and
Smalltalk's object model. What it is in its entirety I am not sure. But
clearly the tools at hand in Smalltalk-80 can't match the minds
flexibility in object-oriented (and other) modeling. Yet it is very much a
stated design goal in Dan's original paper to have the Smalltalk software
environment be a good match for how the mind actually works. So, here, as
exemplified by humor, we have a mismatch. Essentially, Smalltalk code
isn't funny. :-)
Granted eToys may be "fun", but that is not the same as being "funny".
How could you tell a joke to eToys and have it laugh? Or how could eToys
invent new jokes and tell them to you for your approval? Perhaps this
starts to border on AI?
Anyway, writing this inspired me to Google on programs that invent jokes,
and I got this:
http://news.bbc.co.uk/1/hi/technology/5275544.stm
"""Computer scientists in Scotland developed the program for children who
need to use computerised speech aids. The team said enabling non-speaking
children to use puns and other jokes would help them to develop their
language and communication skills. The researchers admitted some of the
computer-generated puns were terrible, but said the children who had tried
the technology loved them. ...Children using the software can choose a
word or compound word, which will form some or all of the punch line, from
the system's dictionary. The program then writes the joke's opener. It
works by comparing the selected word with other words in its dictionary
for phonetic similarity or concepts that link the words together, and then
fits them into a pun template. ... Dr Waller said: "The kids have been
superb, they have taken to the software like fish to water. They have been
regaling everybody with their jokes." She said it seemed to have boosted
their confidence as well as their language skills. "It gives these kids
the ability to control conversations, perhaps for the first time, it gives
them the ability to entertain other people. And their self-image improves
too." """
Related web sites:
http://www.computing.dundee.ac.uk/staff/awaller/research.asp
http://groups.inf.ed.ac.uk/standup/
From the last: "We are exploring how humour may be used to help
non-speaking children learn to use language more effectively. There is
evidence to suggest that language play, including using puns and other
jokes, has a beneficial effect on a child's developing language and
communication skills. Children with communication impairments are often
reliant on augmented communication aids in order to carry on
conversations, but these aids give little scope for generating novel
language. This inhibits experimentation with language and limits the
trying out of humorous ideas, which can in turn have a stultifying effect
on language development. We propose to address this deficiency in the
language environment of the non-speaking child by providing a software
tool which promotes humorous language play. Starting from our previous
research on the automated generation of punning riddles, we will design
and implement a program which allows the user to experiment with the
construction of simple jokes. The user interface of this system will be
specially designed to be accessible to children with communication and
physical disabilities. We will then test the efficacy of the system by
observing and evaluating the use of the software by the children."
Perhaps there in Dr. Waller's lab is the future of Smalltalk? :-)
> Today, more and more so-called information systems are being used not just
> for description but to augment/effect the external world. In this
> evolving hyperlinked
> meshverse of simulation and
> "reality"<http://www.meshverse.com/2006/11/20/hyperlinking-reality/>,
> data often enters into a symbiotic relationship with "reality" where
> changing views can change "reality". The "real" Mars Climate
> Orbiter<http://en.wikipedia.org/wiki/Mars_Climate_Orbiter>object was
> destroyed because it was dependent on the data a model object
> had. If one accepts that a paradigm shift is underway which Croquet offers
> something of value in, then there are important
> ramifications<http://croquet.funkencode.com/2006/04/24/the-64-billion-dollar-question/>for
> database and language choices.
Thanks for the links. I'll agree that as the "noosphere" or "nooverse"
continues to develops,
http://en.wikipedia.org/wiki/Pierre_Teilhard_de_Chardin
http://en.wikipedia.org/wiki/Noosphere
we'll see more bridging of mental models (incarnated in computers or not)
and the physical world, where such abstract constructs have unexpected
effects on the physical world. I heop this project has poticve effects in
that direction (intended to be a GPL'd matter replicator, which can
reproduce itself):
http://reprap.org/
Still, we have been seeing this link of model (data) and reality for some
time, and not just on an individual level -- I'm sure we've all had to
deal with government bureaucracies or corporate hierarchies or classroom
settings where our problem or need did not match the pigeonholes or
procedures the organization had for dealing with individuals (especially
creative ones. :-) How does a bureaucracy deal with humor? It often can't.
Consider:
"The Soviet Joke Book"
http://www.st-andrews.ac.uk/~pv/courses/sovrus/jokes.html
An anecdote told during the Brezhnev era: Stalin, Khrushchev and Brezhnev
were all travelling together in a railway carriage, when unexpectedly the
train stopped. Stalin put his head out of the window and shouted, "Shoot
the driver!" But the train didn't start moving. Khrushchev then shouted,
"Rehabilitate the driver!" But it still didn't move. Brezhnev then said,
"Comrades, Comrades, let's draw the curtains, turn on the gramophone and
let's pretend we're moving!" After Gorbachev came to power another line
was added, in which he suggests: "Comrades, let's get out and push."
The history of Smalltalk-80 is itself an example of that -- ST80 didn't
fit Steve Job's model when he saw it, so he ignored most of it, and gave
us only the GUI window part in the Macintosh. Or considering my comments
above, essentially, Steve did not get most of the joke. :-) The idea of
making source and development tools available to end users did not match
the notion of run-time fees, so we ended up with an absurd focus on
"packaging" and "image stripping" and "shrinking" even to this day, so
again considering the above, ParcPlace did not see the humor in a free
Smalltalk. :-) But now we do.
--Paul Fernhout
More information about the Squeak-dev
mailing list
|