About removing global variables
Trygve Reenskaug
trygver at ifi.uio.no
Fri Nov 26 09:27:06 UTC 2004
Stef,
A bad idea, IMO. A namespace should be a place for mapping names to
objects, the behavior kind is a special case.
In UML, a *component* is a model element that encapsulates other elements,
its named parts. In BabyUML, a component is an object that encapsulates a
number objects, its named parts. This component maps names to parts in a
private namespace.
In general, I feel that we do not get the full benefit of object
orientation by exclusively focusing on classes and class structures. This
was a weakness of early UMLs, it is also a weakness of current Smalltalks.
So let namespaces bind names to objects in general. Your work on multiple
workspaces opens vistas of different kinds of system modularization, their
namespaces will contain many interesting objects the like of which are not
found in the current Smalltalk dictionary.
Cheers
--Trygve
At 25.11.2004 16:43, you wrote:
>Hi
>
>I wanted to get feedback about the idea of removing global variables in
>Smalltalk.
>The fact that system dictionary or a namespace can contain variable ie (a
>binding to something else than a class)
>makes the code quite ugly since we have to always test if this is a class
>or not.
>
>I think that we could easily remove the possibility to have global
>variable and move the ones we have into
>classVariable of Smalltalk or appropriate classes. This would lead to a
>more modular system.
>
>
>
>Smalltalk keysAndValuesDo: [:k :v | v isBehavior ifFalse: [Transcript
>show: k ; cr]]
>
>ImageImports
>Display
>ScheduledControllers
>ScriptingSystem
>Smalltalk
>CustomEventsRegistry
>World
>SystemOrganization
>References
>ActiveHand
>Transcript
>Undeclared
>SourceFiles
>Processor
>ActiveWorld
>TextConstants
>Sensor
>ActiveEvent
>
>Now we would have to type Smalltalk transcript instead of Transcript.
>
>Any thoughts.
>
>Stef
>
>PS: Backward compatibility is not a reason since we are about inventing
>the future not the past
>
>
--
Trygve Reenskaug mailto: trygver <at> ifi.uio.no
Morgedalsvn. 5A http://heim.ifi.uio.no/~trygver
N-0378 Oslo Tel: (+47) 22 49 57 27
Norway
More information about the Squeak-dev
mailing list
|