TC39 Nedir?
Bu yazımızda “TC39 nedir, neden böyle bir adı var, ne işe yarıyor, ne iş yapıyor?” gibi soruları cevaplandıracağız.
❓ TC39 nedir ve ne iş yapar ❓
“Technical Committee 39” şeklinde bir açılıma sahip olan TC39, JavaScript‘in geliştirilmesinden sorumlu olan bir teknik komiteyi temsil eder. Bu komite, Ecma International (European Computer Manufacturers Association Script) adlı bir organizasyona bağlı olup JavaScript’i standartlaştırmak için çalışmaktadır.
TC39, çeşitli teknoloji firmalarının temsilcileri tarafından oluşturulan bir komitedir ve her yıl düzenli olarak toplanarak yeni özelliklerin standartlaştırılmasını tartışır. Bu özellikler, daha sonra yeni JavaScript sürümlerinde yer alır ve tarayıcılar tarafından desteklenir.
❓ Peki neden adı TC39 ❓
Cevap olarak komitenin 1996 yılında kurulduğu zaman kabul edilen bir numaralandırma sistemi olan “TCxx” formatından gelmektedir diyebiliriz. Bu numaralandırma sistemi, Ecma International’in diğer teknik komitelerini de kapsamaktadır. “39” sayısı ise JavaScript’in standartlaştırılması için kurulan 39. teknik komite olduğunu anlatır.
❓ Peki niye böyle bir şey var ❓
JavaScript, sürekli olarak gelişen bir programlama dili olduğundan haliyle yeni özellikler eklenir veya mevcut özellikler değiştirilebilmektedir. Bu nedenle, JavaScript’in bu gelişmeler ve değişmeler ışığında belirli bir standart ile uyumlu olması oldukça önemlidir. Bu sayede, tarayıcılar ve diğer uygulamalar arasında tutarlı bir şekilde çalışabilecektir.
TC39 sayesinde, JavaScript’in gelecekteki sürümlerinde eklenmesi planlanan özelliklerin geliştirilmesi ve standartlaştırılması sağlanır. Böylece, tarayıcılar ve diğer uygulamalar yeni özellikleri tutarlı bir şekilde destekleyebilirler ve JavaScript geliştiricileri de bu yeni özellikleri kullanarak daha iyi uygulamalar oluşturabilirler.
Örneğin ECMAScript 2015 (ES6) sürümü yayınlandığında, bu sürümde birçok yeni özellik ve dil yapısı eklenmiştir. Bunlar arasında “let” ve “const” anahtar kelimeleri ile blok kapsamı, arraow fonksiyonları, rest parametreleri ve destructuring özellikleri gibi birçok özellik yer almaktadır. Bu yeni özellikler, önceki sürümlerde olmayan dil yapılarıdır ve JavaScript geliştiricilerinin kodlarını daha temiz, daha kolay okunabilir ve daha fonksiyonel hale getirmelerine yardımcı olmuştur.
❓ Peki bu standartlaşma işlemleri nasıl olur ❓
Bu işlem beş aşamalı bir süreçten geçer:
⭐ Stage 0: “Strawman” (Çoban) – Henüz tam olarak belirlenmemiş veya doğrulanmamış özellikler tanımlanır. Bu aşamada olan özellikler genellikle bir fikir veya öneri olarak başlar.
⭐ Stage 1: “Proposal” (Teklif) – Bu aşamada, özelliklerin daha ayrıntılı bir taslağı hazırlanır ve kurul üyeleri tarafından görüşülür. Eğer, özelliklerin kabul edilebilir olduğu düşünülürse, resmi bir teklif olarak kabul edilir.
⭐ Stage 2: “Draft” (Taslak) – Bu aşamada, özelliklerin taslağı daha ayrıntılı bir şekilde hazırlanır ve genel olarak özelliklerin belirli bir şekilde nasıl çalışacağına ilişkin bir anlayış geliştirilir.
⭐ Stage 3: “Candidate” (Aday) – Bu aşamada, özelliklerin son taslağı hazırlanır ve uygulama geliştiricileri tarafından test edilip nihai bir karar verilir.
⭐ Stage 4: “Finished” (Onay) – Bu aşamada, özellikler ECMAScript standartlarına dahil edilir ve tüm JavaScript uygulamalarında kullanılabilir hale gelir.