Processo de adição de novas features do JS

O que é o TC39 e qual a sua importância para o futuro do Javascript

Bruno Vinícius
May 4, 2016 · 3 min read

Um pouco de história

Em 1996 o então chamado Javascript foi levado até a ECMA (European Computer Manufacturer’s Association) para que fosse padronizado para utilização nos diversos browsers. Inicialmente foi utilzado o Javascript que estava sendo utilizado no Netscape (aquele feito em 10 dias) e uma outra linguagem parecida, utilizado pela Microsoft, o JScript. Foi então criada uma especificação para tal, chamada de ECMA-262, a linguagem recebeu o nome de ECMAScript e foi tambem decidido que o comitê técnico 39 seria o responsável por essa especificação e pela padronização dessa linguagem.

Este comitê é formado por empresas, hoje temos como membros a Google, Microsoft, Yahoo, Mozilla, entre outras. De tempos em tempos há reuniões (geralmente são 6 por ano e ocorrem durante três dias) em que representantes dos membros discutem sobre as novas features. As notas desses encontros podem ser vistas nesse repositório:

O processo do TC-39

Quaisquer alterações na linguagem seguem um processo de maturidade de 5 estágios, vamos a eles:

  • Estágio zero, rascunho: Simplesmente o envio de propostas, estas devem ser feitas por algum membro do TC-39, ou algum contribuidor. Em seguida devem ser discutidas em alguma reunião, e então adicionadas a essa página:
  • Estágio um, proposta: Nessa etapa um membro do TC-39 é escolhido como responsável por essa proposta (champion). O problema que será resolvido por essa proposta deve ser descrito, há tambem a necessidade de mostrar uma API, ilustração de exemplos e discutir sobre os aspectos principais do algoritmo dessa proposta.

Poucas pessoas sabem da existência deste repositório, mas é aí que se encontram todos os testes de aceitação das propostas que estão, no mínimo, no estágio 3. Ao contrário de todas as etapas do processo, esse repositório aceita contribuição de qualquer pessoa da comunidade, sem restrições.

Por últimos mas não menos importante, neste repositório estão as atuais propostas e seus estágios:

Espero que tenham gostado do post, feedbacks são mais que bem vindos. ;)

Fontes:
https://github.com/tc39/agendas
https://github.com/tc39/ecma262
https://tc39.github.io/process-document/
https://github.com/tc39/test262
http://www.2ality.com/2015/11/tc39-process.html
https://github.com/tc39/ecma262/blob/master/stage0.md
http://www.ecma-international.org/memento/TC39.htm

Thanks to Alan Cezar Araujo

Bruno Vinícius

Written by

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade