Squeak and Namespaces
fowlow at pacbell.net
Thu Nov 30 10:56:22 UTC 2006
On Nov 30, 2006, at 1:52 AM, Göran Krampe wrote:
> Note that you don't get penalized in my solution - BUT if you
> spread your
> package as open source (to lots of other users) then you will
> "pullute" our shared namespace of common short names. We want to be
> careful about that pollution - because it muddles our brains.
But that -is- a penalization, especially since it works both ways;
you pollute me also.
The overall point of the exercise is to facilitate wide sharing and
reuse of code,
so that's the basis of evaluation... one measure of success is how
protected we are from everyone else's naming choices.
Those short names are pollution only because of the nature of the
If I have to consider carefully whether or not to use a short name
because it's a pain in the ass when someone else does too,
that's a weakness of the namespace design. Maybe a small one, but
If my day-to-day practical choices for nice code that others can
without feeling polluted, end up being:
a) pick both unique namespace names and unique unqualified names
b) status quo - pick distinctive names for everything, via plain
old letter prefixing
then it's no longer clear what I'm buying with the colons, except the
chance that anytime my code lands in an image alongside someone
had similar naming tastes to me, we'll both be looking at more colons.
OK, that's an exaggeration... but it's a choice. Explicit
is mechanism that has a cost: something more to attend to as a
It also has a value: it's part of a proven pattern for strong
with all the grab&reuse freedom that comes with that.
If the insulation is porous (for instance, if other people's code can
and can change from day to day, what I see in my editor when looking
at my code)
then the proposal doesn't really give me namespaces... it's namespace
But letter-prefixing is just as good as namespace emulation, and it's
it doesn't pretend (especially to newcomers) to be something it isn't.
And it doesn't require syntax adjustments or more editor pop-quizzes.
Given that, do the merits benefit allotting a syntax change (a
that could begin to fork the world into ::-dependent and ::-free code?
Or would it would be better to acknowledge that letter-prefixing is
just about as good, and free, and already there,
and hold out for a stronger solution without colonizing the code
pool in the meantime?
Clearly, it's hard to wrangle a namespace change into this system.
A somewhat weak intermediate solution that got any uptake
could easily become a further moral hurdle
that a stronger solution would have to accommodate;
two kinds of legacy cases to reconcile, rather than one.
And I think that an environment where changes in unrelated code
could change, at any time, what text you see when browsing your own
will strike people as a bit weird (to put it kindly).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Squeak-dev