5 ms·
From the Github comments: "One of the important priorities in TC39 is to achieve consensus - which means that any employee of any member company can always blo
by jpalomaki 10y ago
From the Github comments:
"One of the important priorities in TC39 is to achieve consensus - which means that any employee of any member company can always block any proposal. It's far far better for anyone to be able to block, than to arrive at a spec that "not everyone" is willing to implement - this is, by a large large margin, the lesser evil, I assure you."
- wodencafe 10y agoI also read that as Google will refuse to implement features if it doesn't get it's way in how they are designed. Perhaps the people providing the Environment shouldn't be the people designing the language? Google is very quickly turning into 1990's Microsoft.
- wycats 10y ago> I also read that as Google will refuse to implement features if it doesn't get it's way in how they are designed. There's no reason for Google to do this, in general, since there are enough Googlers in enough standards groups (all of which operate by consensus) that they can simply object to changes they don't like (like other members of the committee).
- mcguire 10y agoThis is why you don't do development by standards committees. It never ends well.
- Touche 10y agoWhat's the alternative, sell your software in a box at Best Buy?
- jpalomaki 10y agoI guess for language like Javascript there is no real alternative. If you want to push the language further without creating multiple dialects, you simply must have consensus among the major parties writing implementations. These parties most certainly would not give the language to hands of (benevolent) dictator and agree to implement what ever he comes up with.
- Touche 10y agoIf you're delivering software in 2016 in any language you're probably dealing with standards at some level. Are you using HTTP? Using a standard with a committee. Using TCP? There's an RFC for that too.
- mcguire 10y agoStandards committees work best when standardizing something that already exists. That's why the IETF has a policy that any standards track technology has to have two interoperable implementations (although that policy isn't always followed all that closely in recent years). Is there any implementation of this, or any, proposal? Or do the proponents bring a paper spec to the committee to discuss theoretically, evaluate, compromise, and accept; only then implemented with no particular guarantee that it can be done usefully?
- mcguire 10y agoNo, implement a proposal, demonstrate that it is worthwhile, and then standardize it.
- oliv__ 10y agoAnything by committee, really.
- BrendanEich 10y agoYou miss the point that TC39 uses a champions model: 1 or 2 people who do design, with the committee reviewing. That broke down here, to the extent that the champion, Domenic, withdrew under some kind of internal (to Google if not his own state of mind) duress. TC39 never had a chance to consider the argument or whatever it was that caused this. More to say after January's meeting, I'm sure. I'm not going to throw stones at Google but it would not surprise me if there were backroom objections. If so, they should be brought to the committee cleanly. There is still time.
- wodencafe 10y agoThis is a great summary of the situation Brendan, thanks for the clarification about TC-39 committee not actually getting to review the proposal. The main issue regarding the proposal and its sudden withdrawal seems to be an all-around lack of transparency.
- mcguire 10y agoDo the champions provide an implementation of the proposal for the committee to review?
- bzbarsky 10y agoThey could, but I'd expect that they generally do not.
- BrendanEich 10y agoSee https://tc39.github.io/process-document/ https://tc39.github.io/process-document/. To get real engine implementations may take cooperation among champion and one or two browser vendors, as the "real engines" (meaning ones that can be tested against the Web at scale) are all owned by browser vendors. Examples: * SIMD started from Dart's proposal, which John McCutchan then championed at first for JS, and later handed off to others. Intel, Mozilla, and Google all cooperated. * ES6 Proxies, where Mark Miller and Tom Van Cutsem were the champions and did a terrific job covering the design space and finding the sweet spots. Andreas Gal implemented in SpiderMonkey and then the spec changed, based on the implementation (but in a mostly co-expressive way, for wins beyond expressiveness; the new proxy implementation layered on the internals of the old). Proxies were quite challenging as they exposed observable internal order of operation details and required reformulating spec-mandated invariants that matter for not only interoperation but also security.