TC39 (Ecma Technical Committee 39) – komisja będąca częścią Ecma International, której celem jest wsparcie standaryzacji języka ECMAScript. Komisja przygotowuje przede wszystkim tekst samego standardu, ale pracuje również nad przeglądaniem i oceną propozycji zmian oraz przygotowuje testy używane do weryfikacji standardu ECMA-262 i pokrewnych. Według stanu na listopad 2021 w skład TC39 wchodzi 41 organizacji w tym 2 kandydujące.

Notatki z posiedzeń komitetu są dostępne online.

Historia

W 1996 Netscape zdecydował się przekazać JavaScript do standaryzacji przez Ecma. Dzięki temu język miał stać się mniej zależny od jednej przeglądarki. W ramach Ecma stworzona została komisja nazwana TC39, która miała kierować pracami nad standardem. Członkami TC39 stali się przedstawiciele producentów przeglądarek oraz firm zajmujących się tworzeniem rozwiązań internetowych.

W 2007 roku przy pracach nad nową wersją po ES3 w grupie pojawił się rozłam. Część chciała pracować na wersją ES3.1, która miała być zasadniczo zgodna z ES3, a inni chcieli rozwijać ES4 ze znacznym zmianami składni (w tym klasami). Koniec konfliktu został ogłoszony w 2008 roku na liście dyskusyjnej przez Brendanda Eicha, twórcę JS i wówczas pracownika Mozilli. W skład komisji wchodził wówczas John Neumann (przewodniczący TC39) oraz m.in. Lars Hansen (Adobe), Mark Miller (Google) i Allen Wirfs-Brock (Microsoft). Ostatecznie w wyniku kompromisu w 2009 roku wydano ES5.

6 lat później w 2015 roku wydano ES6. Jednocześnie jednak wypracowano nowe reguły procesu standaryzacji, czyli nowe reguły pracy komisji. Od tego czasu komisja wydaje nową wersję ECMAScript co roku.

Proces standaryzacji

Praca komisji przy dodawaniu nowych funkcjonalności, do standardu ECMAScript, przebiega w 5 etapach (ang. stage). Ponumerowane są one od 0 do 4. Gdzie w trakcie etapu 0 spływają różne propozycje i mogą to robić osoby nie będące członkami TC39.

Etap 1 to czas na przedstawienie nowej funkcji przez wyznaczoną osobę pełniącą rolę opiekunki danej funkcji. Komisja ocenia wówczas wstępnie propozycję i identyfikuje potencjalne problemy i ocenia rozwiązania. Na tym etapie w propozycji mogą zajść bardzo duże zmiany.

Etap 2 to moment w którym powstaje wersja robocza standardu opisującego nową funkcję. Składnia i semantyka jest wtedy opisywana językiem formalnym. Od tego momentu mogą powstawać eksperymentalne implementacje, ale wciąż możliwe są jeszcze znaczące zmiany.

Etap 3 to czas na uwagi od organizacji implementujących standard i użytkowników języka. Po tym etapie standard powinien być już kompletny i nie należy spodziewać się dużych zmian, chyba że przy implementacji zostaną wskazane krytyczne problemy. Standard na tym etapie wciąż może zostać porzucony. W szczególności, by przejść dalej, muszą być gotowe co najmniej dwie implementacje zgodne ze specyfikacją.

Etap 4 to moment gdy są już testy i implementacje, które je przechodzą. To na tym etapie dana propozycja i specyfikacja osiąga ostateczną formę i wejdzie do następnej wersji ECMAScript.

Zobacz też

  • JavaScript – jedna z implementacji standardu ECMAScript.

Przypisy

  1. 1 2 TC39 [online], Ecma International [dostęp 2021-11-11] (ang.).
  2. Published Standards - TC39 [online], Ecma International [dostęp 2021-11-11] (ang.).
  3. TC39-Royalty Free Technical Committee members [online], Ecma International [dostęp 2021-11-11] (ang.).
  4. TC39 Meeting Notes [online], Gtihub (ang.).
  5. Tyler McGinnis, ECMAScript, TC39, and the History of JavaScript [online], ui.dev, 28 września 2017 [dostęp 2021-11-11] (ang.).
  6. 1 2 Brendan Eich, ECMAScript Harmony [online], mail.mozilla.org, 13 sierpnia 2008 (ang.).
  7. 1 2 3 4 Axel Rauschmayer, The TC39 process for ECMAScript features [online], 2ality.com, 15 listopada 2015.
  8. 1 2 The TC39 Process [online], tc39.es [dostęp 2021-11-11].
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.