[Modules] Images vs. module safety
Allen Wirfs-Brock
Allen_Wirfs-Brock at Instantiations.com
Fri Aug 17 19:52:38 UTC 2001
(oops, forgot the [Modules])
In recent messages there have been various short testimonials regarding
either (or sometimes both) the virtues working with an image and the
virtues reliable reconstructible modules. There was just one thing I
wanted to point out that I haven't seen mentioned.
Most module work relates to the use of valid, self consistent,
modules. For example, under what circumstances is it valid to simultaneous
load two different modules. Applying the specification of the module system
should tells you that either that the modules are compatible or that they
are not. Generally, such a specification will tell you nothing about what
happens if you try to do something with to two invalid modules (modules
whose structure violates the specification) or if you force the
simultaneous loading of two incompatable modules. Invalid modules or
combinations of modules simply don't exist within the scope of the
specification.
Development tools, however, must deal with invalid or illegal modules or
configurations of modules. After all, it's probably impossible to create or
edit a module without going through some illegal states. This is actually
one of the harder parts of implementing good tools.
My sense, is that many of the "fears" of image people is that the goals of
the module people will (perhaps inadvertently) take away the current
flexibility we have of working with code within the image. This will not
happen. Nobody wants a Smalltalk system where it was hard to create or
change code? If somebody built it, nobody would use it. Whatever is done
in the way of module support the user experience, while programmer, most
maintain the flavor of we all know.
On a related vain concerning the name space discussions. It's not that hard
to specify a semantics for name space support for Smalltalk. It's also not
heard to come up ways to implement such a thing. However, in my
experience, what is extremely hard (as in, I've yet to see it accomplished
in a manner that I'm satisfied with) is figuring out how to present name
spaces in the context of the Smalltalk development tools in a manner that
actually enhances the programmer's experience.
Allen
More information about the Squeak-dev
mailing list
|