[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Geoffrey Knauth <geoff@knauth.org> writes:

> On Friday, Jun 13, 2003, at 22:10 US/Eastern, Michael Vanier wrote:
>> python (and ruby, and PLT scheme)
>> have a notion of modules that goes beyond anything I've seen in
>> Smalltalk
>> (although I gather that this is a big topic of current debate).  Not
>> having
>> a decent module system is pretty much a show-stopper for modern
>> scripting
>> languages
> A good module system is essential if you're building a sizable system
> or running on a server.
> We have a web app with code from multiple languages, and there's a lot
> of Perl code.  We recently hired a Perl guru who looked at what we
> had. He gasped when he saw the number of variables that would
> essentially live in an insecure global namespace if we were using
> mod_perl.  (To be fair to the original developers, most of the Perl
> code was written before Perl learned to be object-oriented or modular.)

Remember that in Perl all $Module::whatever type variables are
actually globals and accessible from anywhere, you're generally better
introducing lexically scoped, 'my' variables. In Smalltalk you don't
have modules as such, but there's nothing to stop you doing it
yourself, just use a common prefix for 'your' classes and another
prefix for any helper methods you introduce into 'system' classes. The
environment will help you find and resolve any conflicts anyway.