On Wed, Oct 5, 2011 at 8:21 AM, Dean Landolt <[email protected]> wrote:
> > > On Wed, Oct 5, 2011 at 10:48 AM, John J Barton < > [email protected]> wrote: > >> >> >> On Wed, Oct 5, 2011 at 12:52 AM, Tom Van Cutsem <[email protected]>wrote: >> >>> Thanks for the feedback, John. >>> >>> I have to admit that at first I was also taken aback by the apparent >>> complexity of the "syntax for efficient traits" strawman. Traits have many >>> knobs, and require a lot of syntax to turn these knobs. >>> >>> Regardless of whether you'd want nice declarative syntax for traits for >>> the sake of usability, for traits.js in particular, there's another >>> important benefit to having some language support. When using Trait.create >>> to create "tamper-proof" objects whose methods have an unspoofable >>> |this|-binding, the traits.js library creates a method wrapper per method >>> per instance (to bind |this| to the instance). I still need to verify how >>> much overhead this actually creates, but there definitely is overhead, and I >>> don't see any way to avoid it without some support from the language. >>> >> >> Yes I sensed your anguish about this issue. However I believe experimental >> measurements might surprise you. Lots of JS code involves event handlers >> passed into DOM calls. I bet lots of JS code already duplicates methods and >> bind |this|. Only when you have many instances will this overhead matter, >> and in those cases I think you might be better off without OOP anyway. >> > > > It's been measured: > https://mail.mozilla.org/pipermail/es-discuss/2010-September/011821.html > > Well that reference says it was tried once in an undocumented way by one team focused on other things. Falls short of 'measured' for me. jjb
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

