[squeak-dev] Did we really nailed files?

Göran Krampe goran at krampe.se
Fri Apr 8 19:34:09 UTC 2011


On 04/08/2011 05:52 PM, Ramon Leon wrote:
> On 04/08/2011 08:16 AM, Chris Muller wrote:
>> I'm having trouble understanding what everyone is criticizing here.
>> Is it that PackageInfo does not keep its own state? That it relies on
>> the category names of classes and methods to know what is "contained"
>> in it?
>
> I'd imagine it's that packages aren't actually containers of anything.
> If a package contained a class, then classes wouldn't be global in
> scope, and you could have multiple classes named #User in the system in
> different packages.

IMHO it is not a golden rule that a "package" as PIs have been used - is 
also the same thing as a Namespace.

<personal rant>
IMHO a "package" as PIs have been used fulfill basically two purposes:

- Deployment unit. Small enough to be isolated and large enough to be 
useful on its own.

- SCM unit. Kinda similar to above, but still a slightly different purpose.

BUT... again IMHO a Namespace does not need to be that *small*. Take 
Seaside for example, how many packages does it consist of? A whole darn 
bunch. And that bunch is maintained by a relatively small group of 
people. Since (again IMHO) the purpose of a Namespace is to be able to 
build a common vocabulary within a social group (=the team + those that 
use Seaside) without ending up in trouble because of conflicts with 
names that other teams/projects use out there in the BIG WORLD.

Another example - the "base image" of Smalltalk-80. We only need ONE 
Namespace for these base classes.
</personal rant>

Having ranted - yes, many other languages make these two concepts the 
same - but I think that is one of the reasons these discussions often 
end up so confusing.

regards, Göran



More information about the Squeak-dev mailing list