There is essentially one channel of input into the the TC39 group – the es-discuss mailing list. Unless you’re already a member of TC39, it’s a less than an ideal forum for change. Non-members can feel like outsiders, outflanked by TC39 gurus, who (understandably) would rather not revisit the scenes of their hard-fought consensus, so instead simply restate (often en masse) the opinions that got them there. Being a visitor to es-discuss is often frustrating; its untenable for an individual to claim to represent the perspective of the developer community, yet without the weight of the developer community, lone voices are easily dismissed. Many developers have told me they have given up on es-discuss, some have even stated that they hope ES.next will just go away. That’s too bad, it means our extraordinary community, the innovators and the creators, the doers and the fixers are (or feel they are) effectively excluded from the process whereby the next version of their language will be defined.
this binding which erodes the feasibility of call and apply and adds yet another rule of context assignment, block scoped let declarations that must co-exist with function scoped var declarations, incongruous const and static keywords, type guards. Which of these features have we, the developer community, been holding our breath in anticipation of? How is the addition of these features (when backwards compatibility more-or-less forces the retention of existing language features) going to simplify the language and keep it flexible?
this binding, prototype semantics, globally bound natives and the
arguments object – to name a few. The scale of these proposals means browser adoption will inevitably be staggered and piecemeal, and of course legacy code must still work; so while new features are added, old ones cannot be removed. The short term looks like a confusing mess of new rules and semantics coexisting with old ones.
@angusTweets “Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.”
— Balázs Galambosi (@galambalazs) May 27, 2011
JSFixed is an initiative created by Anton Kovalyov and myself. There are two goals
1) Provide the the TC39 committee with a much needed gauge of developer opinion.
2) Provide developer feedback directly to browser vendors.
As a first step we want to hear your opinions as we explore the best way to make this project effective. Should we develop and promote our own set of language proposals or should we focus on filtering and refining the existing TC39 work according to actual developer need? Do you want a different set of features than those advocated by TC39, or just fewer new features? To that end we want to encourage all interested developers to submit feedback via our github account. We’ll also be reaching out personally to interested developers via coffee, beer, IRC, IM and email.
Our intention is for the discussion process to be entirely open and documentation media to be freely editable, wiki-style. However, in order to avoid the endless back-and-forth and design-by-committee nature of the TC39 process, final proposals will likely be triaged and voted on by a team of 3-5 people (with full deference to the feedback of the community). We want to encourage a transparent and approachable documentation style with copious examples. Backus-Naur notation, while a necessary formality, should not be a pre-requisite to understanding a proposal.
We Need You!
— JS Fixed (@jsfixed) May 6, 2012