Traits, r
nigel@turbo10.com
nigel at turbo10.com
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.
NIge
[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 london.pm
mailing list