Namespaces (was: Re: [ANN]A plan for 3.8/4.0...(insertdrumrollhere))

Chris Muller afunkyobject at yahoo.com
Tue Apr 6 03:27:41 UTC 2004


> > 1. What are developers encouraged to do? Do they create their own
> > little namespace for every project so that when they create their
> > classes in that project it doesn't matter what they name them?
> > (just like in Java)
> 
> This one I have a simple answer to: I don't know. Because I didn't spend
> much time thinking about this issue, I'm not certain about the tradeoffs
> involved and it isn't on my list of goals that I want to address with
> namespaces. You should ask someone who cares/understands about the
> implications of going either way.

Perfect!  Then this is your chance to clear something up from earlier, because
thinking about that leads you to the the answer to What is the difference
between "optimistic" and "pessimistic-with-auto-import".

We must consider the "psyche" of the software, as much as its technical
approach.  To new or simpler users, the threshold of tolerance for having to do
**any** "system things" can be quite low before intimidation or confusion set
in.

With pessimistic the namespaces must be "there" before the user can just sit
down, express themself and start slinging some objects.

Don't tell me "you can hide it all in the tools" because that's the very
difference.  No matter how much spice you put, you can't hide the flavor of
mushrooms, let alone the very concept of somthing as pervasive as namespaces.  
 (Just observe how much discussion we're having about the subtle nuances).

And as soon as a newbie says, "why do I have to do this?" or "what is that?"
the damage is done.  Suddenly they realized the system was bigger than them
(intimidation) rather than the reverse; the user driving the system has now
grown in skill (comfort) to be a "medium" user (whatever) needing to do
something that requires a namespace for they're working on.  Suddenly, the
optimistic namespace support pops up and they easily relate it to their frame
of reference.

Generally, a more natural progression of "growing" into a system.

With optimistic, there is nothing to hide because it isn't there (until you
want it, of course).  To that user, the world-of-Squeak to that user, is
smaller, less intimidating, less confusing, more inviting of them to just
express themself and sling some objects.

I just thought of another example.  Namespace implementation in XML is
more-or-less transparent but, should I ever to introduce XML to my 86-year-old
Grandmother, I think I'll pick her first sample to be one without namespace
notation.

 - Chris




More information about the Squeak-dev mailing list