TC39 (Ecma Technical Committee 39) – komisja będąca częścią Ecma International[1], 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[1][2]. Według stanu na listopad 2021 w skład TC39 wchodzi 41 organizacji w tym 2 kandydujące[3].

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

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[5]. 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[6]. 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[6]. 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[7]. 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)[7][8]. 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ą[8][7].

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[7].

Zobacz też

  • JavaScript – jedna z implementacji standardu ECMAScript.

Przypisy

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.