SS: Change proposals need to take backwards compatibility into account. So decisions that were made at the beginning still need to be preserved.
DE: There’s a 4-stage process. Stage 1 is when something is under discussion. We’ve presented a problem statement and an initial solution that the champion group, the equivalent of a project manager, is working toward.
And then, once you’ve carried out multiple implementations and tests, it’s ready for stage 4 and we can say it’s part of the standard.
Each one of these stage advancements is agreed on by the committee.
What is the frequency of the releases by TC39?
DE: In theory it’s once a year, but really it’s a continuous process. On the TC39 website, we maintain the current draft specification, and I think that’s what people should reference, because we only land things that are already at stage 4. I think releases make more sense as a concept for browsers, Node.js, or these other engines. With these standards, we’re trying to coordinate the whole ecosystem, so it’s kind of more amorphous.
What is the latest proposal you’ve worked on with TC39?
DE: In TC39 we use the term “good faith” a lot, which is just the idea that when somebody is talking about something, we should all assume the best intentions and try to move forward. I really do think that everyone in the committee makes a strong personal effort to do this. I feel like the incentives are well aligned so we can only do things if they’re actually for the good of the ecosystem. The consensus process and the TC39 instructor keeps us honest.
Also, as a language that is frequently sent over a network in source form, as opposed to compiled at a separate stage, standardization is even more important, because you really have to make sure that it’s handled well at that other network endpoint.
But I feel like there’s a lot of movement toward positively working together and talking openly about things. And now with the OpenJS Foundation, we’ve been getting more and more people from Node.js participating in TC39. And it’s been really positive to get lots of people so that we can get the whole spectrum of opinions, such as about the module attributes proposal that Sven was talking about. We had people on the committee claiming opposite things about what Node.js thought about the proposal and that’s the dynamic that we’re just going to have to keep working with.
This interview has been edited for space and clarity.
This article is part of Behind the Code, the media for developers, by developers. Discover more articles and videos by visiting Behind the Code!
Want to contribute? Get published!
Follow us on Twitter to stay tuned!
Illustration by Catherine Pearson
More inspiration: Coder stories
We can learn a lot by listening to the tales of those that have already paved a path and by meeting people who are willing to share their thoughts and knowledge about programming and technologies.
Keeping up with Swift's latest evolutions
Daniel Steinberg was our guest for an Ask Me Anything session (AMA) dedicated to the evolutions of the Swift language since Swift 5 was released.
May 10, 2021
"We like to think of Opstrace as open-source distribution for observability"
Discover the main insights gained from an AMA session with Sébastien Pahl about Opstrace, an open-source distribution for observability.
Apr 16, 2021
The One Who Co-created Siri
Co-creator of the voice assistant Siri, Luc Julia discusses how the back end for Siri was built at Apple, and shares his vision of the future of AI.
Dec 07, 2020
The Breaking Up of the Global Internet
Only 50 years since its birth, the Internet is undergoing some radical changes.
Nov 26, 2020
On the Importance of Understanding Memory Handling
One concept that can leave developers really scratching their heads is memory, and how programming languages interact with it.
Oct 27, 2020
The newsletter that does the job
Want to keep up with the latest articles? Twice a week you can receive stories, jobs, and tips in your inbox.
Looking for your next job opportunity?
Over 200,000 people have found a job with Welcome to the Jungle.Explore jobs