Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The ES6 spec draft is in its final stages of being revised. At this point there shouldn't be any substantial developer-facing changes except to a few final things that are being ironed out (mainly modules).

The features that are being shipped in Firefox are ones that are stable in the draft spec and not expected to change. At the point of spec stability, these features need to be actually tested in broader distribution to help find any potential compatibility corner cases, similar to the issues found with Array.prototype.values [1].

[1] http://www.esdiscuss.org/topic/array-prototype-values-breaks...



Moreover, the model in which large, multifaceted standards go through a series of revisions, with vendors following in lockstep, releasing implementations of everything that has been decreed stable and nothing that has not, has never been the way the web worked, despite the fact that many standards organisations design their processes around it.

In practice vendors implement small chunks of emerging ideas, with flags to prevent the ideas reaching the stable versions being a relatively novel addition to the process made possible by rapid release schedules. The ideas become stable, ready or not, when enough people are using them that it's no longer possible to remove or amend the implementation without breaking sites and thereby annoying your user base.

I hear that the TC39 group that controls ECMAScript are planning to adjust to this reality by incrementally standardising features in the future so, perhaps, instead of "ES7" we will see specs for "ES foo", where "foo" is a specific feature. Ironically this is closer to the way that some non-web languages like Python (ignoring the 2/3 divide) work, with a series of enhancements that are adopted as they are ready, even though Python actually does have clear and meaningful versions.


I agree with it in principle, but this isn't the first time FF has dropped in Javascript features which are still not finalized. I just think that if other browser vendors are going to be raked over the coals for not rigidly adhering to standards processes and shipping non-approved features not behind flags, everyone should be held to the same standard, a consistent policy.


If the other vendors weren't, respectively, the largest, second largest, and third largest tech companies in the world, and amongst the most valuable companies in the world this comparison would make sense. If, of the other three browser makers, we weren't discussing a company that holds a near monopoly on desktop OS's, a company that holds a near monopoly on the high-end of computing, and the third which holds a near monopoly on internet services this comparison would again make sense.

Should Mozilla have been more conservative in shipping features that are actually written up in a spec on their fledgling OS? Probably, playing strictly by the rules is generally a good thing. Is this comparable to a different vendor working to ship an enormous feature which didn't even have a spec, and which the person at the centre of the controversy asked other people to help write because they had been so busy? No, not at all.

Size, influence, and power always make a difference. I have a hard time understanding how you wouldn't see this.


Like the Geneva Conventions, they protect both big and small players, in times of war, as long as everyone agrees to abide by them. The big players, as you indicate, could really do a lot more, unimpeded, but have shown relative restraint and participated voluntarily these standards committees. I don't think granting a waiver for one particular vendor is conducive to influencing others to play by the rules.

What's the lesson? Two wrongs make a right?


> I just think that if other browser vendors are going to be raked over the coals for not rigidly adhering to standards processes and shipping non-approved features not behind flags, everyone should be held to the same standard, a consistent policy.

ES6 has cross-vendor support and a draft specification [1], which are not true of PNaCl or Dart. No browser vendor has stated opposition to ES6 that I'm aware of; everyone's committed to implementing it.

[1]: https://people.mozilla.org/~jorendorff/es6-draft.html


This has nothing to do with PNaCL or Dart, so why beat that strawman? This is about standards committee stuff being pushed out before finalization not behind a flag, the kind of stuff that incited the big brouhaha over prefixed APIs not too long ago. Commitment to implement is not the same as "won't change before final release", so what happens if it gets significant uptake, and the final draft actually tweaks something important?

What's good for the goose is good for the gander.


As far as I know, the way ES6 works is that there is consent for everyone to implement features that have been approved in the "face to face" meetings. That is not the same way that the CSS working group works, however, because CSS is now modularized as opposed to monolithic.

You're trying to create controversy where there is none. Nobody on TC39 objects to SpiderMonkey implementing specific features with broad consensus before all of ES6 has been finalized.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: