Java's modules rock? (was Re: election details *PLEASE READ*)

Andrew Tween amtween at hotmail.com
Tue Mar 13 09:27:05 UTC 2007


Hi,
----- Original Message ----- 
From: "Lex Spoon" <lex at lexspoon.org>
To: <squeak-dev at lists.squeakfoundation.org>
Sent: Monday, March 12, 2007 10:53 PM
Subject: Re: Java's modules rock? (was Re: election details *PLEASE READ*)


> Roel Wuyts <Roel.Wuyts at ulb.ac.be> writes:
> > Andreas, I prefer refactoring, but refactoring assumes a closed world
> > approach where you control all the pieces of the puzzle.
> >
> > It simply is not always possible to refactor (because you do not have
> > the source, because you do not want to create a fork, because you
> > have other programs that absolutely rely on the old behaviour, etc.).
>
> Exactly.  It also assumes that even if you have the code, you can
> convince the other guy to make the change.  This is a significant
> burden.  You are better off if you can propose your module and then
> let people try it.  If it is popular, then the other guy will know
> your code is not loopy and so will be more amenable to cooperating on
> a refactoring.
>
>
> Shout replaces the system text editor, which in my mind is an invasive
> change that is just the sort of thing hard-shelled modules would be
> likely to disallow.  I can assure you, the behavior of a lot of things
> changes when you have Shout loaded.

There could be some confusion here.

Although the base Shout package has no overrides, and hooks into AppRegistry,
there are a number of optional Shout 'add-on' packages which are more intrusive,
and therefore provide better examples :-

For example, ShoutMonticello enables Shout in Monticello, and overrides
MCTool>>textMorph: to force it to use MorphicTextEditor default , rather than
PluggableTextMorph.

Similarly, ShoutOmniBrowser, overrides MCDefinitionPanel>>morph to force the use
of MorphicTextEditor default, instead of OBPluggableTextMorph.

I don't l know if these add-ons are good, bad, or just ugly; I am neither
defending nor promoting them.
They are loaded in the squeak-dev images, which could give the impression that
Shout changes many things.

They are distributed as .mcz files, on SqueakMap and SqueakSource, mainly for
convenience. They could just as easily be some changesets, downloadable from a
Wiki page, or whatever. In that case would they still be 'packages', or just
'patches'?

I hope this helps the conversation along,
Cheers,
Andy




More information about the Squeak-dev mailing list