copy yourself ?

goran.krampe at bluefish.se goran.krampe at bluefish.se
Fri May 23 09:08:26 UTC 2003


Hi Jan!

"jan ziak" <ziakjan at host.sk> wrote:
> another enjoying text you have written below. but, you have to make a 
> decission: either you will understand each word as such, unconnected and 
> meaningless, or you will try to understand the text in the same way as other 
> people on this list do. you choose.
> 
> if you choose to consider the words as such, then do not write to this 
> mailing list anymore because you cannot help me, them nor you.

Sean was just introducing some humour - I don't think he meant any harm.
This list is a *very* friendly place and we don't mock people. At least
not people that are new to the list! :-) People like Tim we can safely
mock though, although you need to prepare yourself for the return. ;-)

And also - Richard can sometimes sound a bit harsh (Richard, you need to
be careful with those uppercase letters! Some of use believe you are
shouting. :-)) but he means very well. He is very helpful and often does
the deepest analyses of all of us regarding seemingly trivial matters
that often turn out to be really interesting lectures. Keep it up
Richard.

And now to the question at hand.

Having taught OO (as Richard has I believe) a few years back, and using
Smalltalk to teach it - I can safely say that this issue probably comes
from a pedagogical tactic in teaching OO that sometimes can backfire.
:-)

When we teach OO we often make analogies to the real physical world. And
one of the great strengths of OO is the much better ability to actually
mirror the "real world" than previous paradigms have had.

But we shouldn't let this fool us into thinking that we always need to
mirror the real world. Mirroring can be very useful and powerful - we
get a better "one to one" mapping to the business domain and people tend
to understand the system (and the developers) much more easily if the
both camps have a similar model in their heads. Changes in the "real
world" often also easily maps to the sister objects in the software
model. So there are indeed advantages of the mirroring technique.

But still - most software we write doesn't model dogs, cats, mammals,
cars, areoplanes and glasses! :-) They much more often model abstract
informational concepts. And the model doesn't serve the same purpose as
the objects in the world that they model - the system most often has a
very specific purpose, and it probably isn't to hold liquids for
drinking.

So let's not forget what we use OO for: To build better software.

And that is a very specific domain in itself. We don't use OO to build
the real world.

regards, Göran



More information about the Squeak-dev mailing list