DEV Community

Cover image for My πŸ”₯ First Experience Attending TC39

My πŸ”₯ First Experience Attending TC39

Tierney Cyren on April 15, 2019

A few weeks ago I had the opportunity to attend TC39, the ECMA technical committee that defines the ECMAScript specification, for the first time. A...
Collapse
 
ben profile image
Ben Halpern

Every single member that I talked to was extremely encouraging of new participants

This is really great. Gone untended to, these sort of things tend to only cater to power users who have been there many times before. That's where you wind up forgetting about 90% of the users who will be interacting with the technology.

Collapse
 
bnb profile image
Tierney Cyren

Yup, 100%. I'll be honest, I expected standards bodies to be extremely elitist and effectively have an implicit caste system where the opinions of people who have been attending for 10+ years would be the most valid and would override anyone else's opinions.

I've never been more happy to be so entirely wrong. Everyone on the committee was very engaged with the suite of new participants (there were at least 6 of us who were first-timers) and I get any sense of elitism at all. They actually valued the fresh perspectives because they understood the burden of knowledge and appreciate the fresh context from practitioners.

Collapse
 
allenwb profile image
Allen Wirfs-Brock

Welcome to TC39 and thanks for sharing your experience.

Regarding "normative". Generally, when we say "normative" in TC39 we mean something that is an actual requirement expressed in a specification. These can be big like "Promises are part of all ECMAScript implementations". To tiny, such as the ordering of specific actions within a single specification algorithm.

Most of the text in TC39's specifications is normative and most of the work of TC39 ultimately leads to decisions about new normative requirements. This includes all of the proposals going through the staged process. Deciding upon normative requirements is so fundamental it is seldom mentioned in that context.

When "normative changes" are explicitly discussed at meetings, this is usually about some very minor change to the specification of some larger feature that is already in the specification. Like swapping the order of algorithm steps or adding (or removing) a required error check. Often such changes are specification bug fixes. Sometimes they are are needed to bring the specification into alignment with what implementations actually have implemented. Regardless, they require TC39 consensus because in some way they change a requirement that will have an observable (put usually minor) impact on implementations and in rare cases could impact real world code.

Collapse
 
bnb profile image
Tierney Cyren

Ah, thank you for the additional context Allen!

This... makes sense in the context that it was brought up within the meeting. Coming from a place of still trying to grasp the context of "grammar" in the spec: can normative changes happen around grammar as well, or if changes to grammar would be a different kind of change?

Also: I've added a link to your comment and updated the post to reflect the context you've shared. Thank you for taking the time to explain! ❀️

Collapse
 
allenwb profile image
Allen Wirfs-Brock

Sure, as "normative" applies to anything that is an actual requirement and the grammar defines the syntax that an implementation is required to recognize.

But while normative grammar issues have occurred in the past, I would expect small bug-fix level normative changes to the grammar to now be quite rare.

Collapse
 
karataev profile image
Eugene Karataev

Thanks, Tierney, for sharing. I'm just curious:

  1. How many times a month TC39 committee meets offline for discussion.
  2. It seems there are 63 participants in TC39. How many of them visited the meeting?
  3. Why 39? Is it some magic number like 42 πŸ€”?
Collapse
 
bnb profile image
Tierney Cyren • Edited

Thanks for the kind words Eugene! πŸ™

To answer your questions:

How many times a month TC39 committee meets offline for discussion.

TC39 meets every 2 months in a location somewhere in the world. For example, this meeting was in NYC (low barrier for me since I live in NYC), but the next one will be in Berlin immediately following JSConf EU.

It seems there are 63 participants in TC39. How many of them visited the meeting?

There are actually a significantly larger number than 63 that you can see – those 63 have just made their membership in the GitHub organization public (GitHub defaults to private, and many developers in general don't know that there's even a toggle for this). There about 3x that many members of the org.

My rough estimate is that there were 50-75 people in the meeting. The meeting spans three days and some people were only able to attend for a day or two, so it's hard for me to assert exactly how many people were there without looking at the attendance sheet.

Why 39? Is it some magic number like 42 πŸ€”?

So the "TC" part is important – it stands for Technical Committee, which is a part of how ECMA International (the body which TC39 is under) is structured. The answer to your question is incredibly simple, as far as I know – TC39 was the 39th TC/TG 😁

You can find a list of all (current?) TCs on the ECMA International website. You might notice a few others that cover areas you recognize, like TC49 and TC52.

Collapse
 
geocine profile image
Aivan Monceller

Oh nice, this is something new to me. Thanks for sharing!

Collapse
 
karataev profile image
Eugene Karataev

Thanks for the detailed reply!

Collapse
 
lirantal profile image
Liran Tal

Thanks for sharing Tierney!
Really happy to hear about your experience, seems like it's indeed more welcoming than looks on the outside.

Couple of questions :

  1. Did you find discussions on the proposals being very technical and involving a deep javascript and browser jargon?
  2. How often does the tc39 meet like that?
Collapse
 
bnb profile image
Tierney Cyren

Thanks for the questions, Liran ❀️

To answer them:

  1. They were deeply technical but not in a way that I couldn't follow. It was honestly similar to a classroom style presentation, except where everyone wants you to understand and succeed – and one where you can use the Internet to figure out what the heck people are saying. I opened up Google and the spec often when there was a word I didn't understand, and if I couldn't find an answer I just asked someone once we were out of the actual presentation.

  2. The in-person meetings are every two months.

Collapse
 
lirantal profile image
Liran Tal

Thanks!
Looking forward to more of your updates from these meetings.

Collapse
 
nickytonline profile image
Nick Taylor

Thanks for the write up Tierney. Nice to get an insider's view of these meetings.

Collapse
 
bnb profile image
Tierney Cyren

No problem! If there's anything in particular you're interested in about TC39, I'd be happy to try to capture the answers and share them in future posts πŸ’–

Collapse
 
jrohatiner profile image
Judith

Great post! Very well explained! Thanks.

Collapse
 
bnb profile image
Tierney Cyren

Thank you! πŸ™

Collapse
 
mcrowder65 profile image
Matt Crowder

Awesome post! I’m glad you had a great experience, thanks for sharing

Collapse
 
bnb profile image
Tierney Cyren

Thank you, and no problem! Hopefully this post gives others a bit more insight into what TC39 is like <3

Collapse
 
dotproto profile image
Simeon Vincent

Thanks for the writeup πŸ‘πŸ‘πŸ‘

Collapse
 
bnb profile image
Tierney Cyren

No problem, Simeon! ❀️

Collapse
 
budyk profile image
Budy

Did you take some pics you can probably share ?