Traits, r nigel at
Fri Feb 8 12:44:22 GMT 2008

> Please cut emails like the last few out. By all means debate the technologies, but If
> I see any more sniping like this I'm just going to start unsub'ing people 'until morale
> improves'.
> What really pisses me off is that there is a lot of interesting debate around P5/P6, frameworks
> and the influence of OO/Comp Sci on programming to be had, but when it deteriorates into
> this the debate is obscured. I also know of people who have deliberately avoided adding
> their opinion to such threads because it had already became a bun fight.
> This may seem harsh, but my tolerance was used up in the P5/P6 thread.
> G.

Hear! Hear!

Now trying to get things back on track ... I think roles will be really 
useful too as I often want to stuff things "sideways" into an OO 
inheritance hierarchy - but often the "ISA" relationship isn't quite 
right. Some objects just happen to "DO" the same thing -- which is where I 
think roles are handy.

But in relation to plugins I think it's tricky for roles to solve the 
whole problem. The problem is the plugin may represent only part of what 
needs to be added to the software - config setting changes may be required 
as well - also conflicts with other plugins need to be handled.

Is it a pipe dream to imagine plugins slotting together cleanly like lego 
blocks? [1]

I was reading about "monkeypatches" the other day [2] - and the idea of 
modifying running code in-situ offers a somewhat scary (from a security 
point of view) but different take on the problem of plugins working 
together. Installing a plugin is less like lego and more like applying a 
software bandaid --- did it stick? Ok let's put another one on. With the 
ability to take some off as well.


[1] I think "webmin" has a brilliant module/plugin format

[2] From wikipedia ... A monkey patch (also spelled monkey-patch, 
MonkeyPatch) is a way to extend or modify runtime code without altering 
the original source code for dynamic languages (e.g. Smalltalk, 
Javascript, Ruby, Perl, and Python).

More information about the mailing list