On Thursday, November 21, 2002, at 12:24  AM, Dave Storrs wrote:
On Thu, Nov 21, 2002 at 01:29:32AM -0500, Tanton Gibbs wrote:
Properties have bothered me, but for a different reason. It appears that everyone's answer to everything is "make it a property!" Properties are just strange to comprehend...they are like hidden attributes that are squirreled away until you least expect >> them...then
I would say that properties are very powerful and, like most powerful
things, could easily be abused.
If I'm understanding them correctly, another way to think of runtime properties is "dynamic inheritance", or more specifically "instance-based inheritance". When you say:

$v but foo(5);

You're saying that instance/value $v now inherits the behaviors of foo(5), in addition to it's normal behavior. Well, sortof.

So while they're essential for certain things, I expect they might be *much* more expensive (runtime) than either method calls or normal, "static" class inheritance. You're taking the particular value/instance and adding another layer of behavior to it -- behavior that is only calculable at runtime. Ouch!

So yeah, I think they should be avoided except when necessary -- to make an object do something that is wasn't originally designed to do, but not as a syntax for a core feature. I would hope most of the core uses them very sparingly.

MikeL



Reply via email to