On Tue, Apr 06, 2004 at 06:04:56PM -0400, Randy W. Sims wrote: > On 4/6/2004 11:06 AM, Dan Sugalski wrote: > >At 6:12 AM -0400 4/4/04, Randy W. Sims wrote: > >[Scheme 1: hierarchy munging] > > > >[Scheme 2: loadable-library style plugins] > > > >>Is there anything in the above that stands out as potentially being > >>problematic? > > > > > >Well, there are a lot of languages that really dislike having their > >inheritance hierarchy change at runtime, so the first scheme might be > >rather problematic. (I also think it's likely a really bad misuse of > >inheritance, but that's a matter of opinion) Scheme 2 is also much safer > >from a pure security standpoint. Personally it's what I'd prefer. > > Design-wise, that pretty well sums up my opinion also. Unfortunately, I > think I'm outnumbered. :( I think I was rather hoping for a technical > knockout with a language iteroperability argument, but...
This design decision applies to most class-based object oriented languages, but not for the delegation-based languages (the latter are sometimes called propotype-based instead). Self, the archetypical delegation-based langugage, permits objects being used as part of an inheritance tree to be modified at runtime. I guess this matters little as far as the internals go, but it would be a shame to cut out a language as classic as Self, especially as its VM was the first to demonstrate astonishing efficiency. -- Jon Shapcott <[EMAIL PROTECTED]> "This is the Space Age, and we are Here To Go" - Wlliam S. Burroughs