On Sep 8, 8:44 am, "T.J. Crowder" <t...@crowdersoftware.com> wrote:
>             arguments.callee.$super.call(this, arg);
>             this.callSuper(arguments, arg);

"six of one, half-dozen of the other"... but I suppose there is no
perfect solution.  Still, it's hard to swallow something this
convoluted when you've gotten used to $super (or this._super() ) :-P

> My issue with Resig's approach would be the number of introduced
> closures and the slippery _super method, which has too much magic in
> it for my taste. These things are subjective.  It also won't perform
> as well, but we're talking a small increment, and as you say trade-
> offs come into play.

I have to confess it's been long enough since I looked at that code
that I don't have an opinion about it.  I do know that it performance
tested well, and I definitely prefer the invocation syntax.

Honestly, at this point I'm mostly worried that that we may get
enamored with a solution that is different, but not necessarily all
that much "better".  More performant, yes, but at the cost of
usability.  I'm tempted, even, to argue for the removal of supermethod
invocation altogether in Prototype.  It's not like it actually needs
it - there are a couple places where $super is used, but it would be
trivial to rewrite that to where it's not necessary.  Developers would
benefit from a smaller Prototype codebase, and they code pick and
choose the supermethod technique that best met their needs, and import
the appropriate script for that.

That notion is both heretical and ironic I suppose, since I guess I
started the whole "look how shitty Prototype supermethod performance
is!" thread.  But history has taught me that developers who write code
without having a concrete use for it very rarely make the right
choices.  It's much better to let requirements drive the code choices,
rather than the other way around.

Okay, climbing down off my soapbox now to go get lunch. :-)

- rwk
You received this message because you are subscribed to the Google Groups 
"Prototype: Core" group.
To post to this group, send email to prototype-core@googlegroups.com
To unsubscribe from this group, send email to 
For more options, visit this group at 

Reply via email to