Boolean objects in conditionals

Brendan Eich brendan at mozilla.com
Fri Nov 28 21:23:37 PST 2008


On Nov 28, 2008, at 9:05 PM, Peter Michaux wrote:

> Almost may as well just always start the class with a first line like
> the following.
>
> class C(x,y) {
>   var self = this;
>   function m1(a,b) { /* use "self" to denote receiver */ ... }
>   function m2(c)   { /* ditto */ ... }
> }
>
> It gives non-dynamically bound "this" access which was on of the
> issues in the wiki page. Probably not enough boiler plate to warrant
> sugar.

Possibly. It could get old if one is often referring to the whole  
receiver object. How often does that occur?

It's easy to argue that desugaring should be minimal to convey to  
readers who grok the desugared language exactly what's going on. This  
is like arguing against ++x because x += 1 is short enough and more  
clear about order of operation -- but += is itself subject to such  
reductionistic opposition. What's wrong with x = x + 1 every annoying  
time? C'mon, it was enough for Pascal and most BASICs!

We need user testing to get a better handle on usability. In the  
absence of that, I'm likely to oppose pedagogical reductionism in  
sugared additions. I've seen such over-minimized proposals cancel  
themselves out by taking everything away one slice at a time, as the  
proposal slides downslope toward the simpler but probably less usable  
kernel language.

/be



More information about the Es-discuss mailing list