Henüz geliştirme aşamasındayken adı Mocha olan bu yeni scripting dili, ilk resmi test yayınında LiveScript olarak karşımıza çıktıktan sonra Aralık 1997’de, Netscape’in 2.0 Beta sürümüyle birlikte de nihayi halini alarak JavaScript olarak adlandırılıyor.
Ancak doğrudan hiçbir bağı olmasa da seçilen bu isim Java diliyle ilgiliymiş gibi bir algıya sebep olarak kafa karışıklığına neden oldu. Ama yine de doğrudan bir ilişkisi olmasa da küçük ve dolaylı bağı vardı.
O dönemde Microsoft ile bir teknoloji yarışı içerisinde olan Netscape Java’ya destek vererek dağıtık bir işletim sistemi yaratmak için kullanmak istiyordu. JavaScript’i de aslında bu işletim sistemi içerisindeki bir betik dili kullanmayı hedeflemişlerdi. Bu yüzden aslında bir pazarlama hedefiyle bu ismin verildiği de düşünülüyor.
Netscape’in bunu tarayıcıya eklemesiyle birlikte artık daha dinamik web siteleri oluşturulmasının da önü açılmış oldu. Microsoft buna hızlı bir cevap vererek JScript adını verdiği ve Explorer’a entegre ettiği bir scripting dilini duyurdu.
1996 yılındaysa Netscape ECMA’ya, JavaScript’in endüstri standardı olarak tanımlanması için başvurdu ve 1997 yılıyla birlikte ECMA, ECMAScript olarak JavaScript’i ve JScript’i temel alan bir scripting dili standartlarını yayınladı. Böylelikle hayatımıza ECMAScript de dahli olmuş oldu.
ECMA Nedir, Kimdir?
Gelelim ECMA’ya. ECMA (European Computer Manufacturers Association — Avrupa Bilgisayar Üreticileri Birliği); bilgisayar donanımları, yazılım dilleri ve iletişim teknolojileri için standartlar geliştirmeyi amaçlayan, kar amacı gütmeyen bir kuruluştur.
Kullandığımız QWERTY klavye düzeni de ECMA’nın oluşturduğu önemli standartlardan bir tanesi. Floppy Disk’ten (Disket) C yazılım diline kadar bir çok yazılım ve donanım için standartları belirlemiş ve bunların uluslarası kabul gören standartlarını da oluşturmuşlardır.
JavaScript için geliştirdikleri standartlar da ECMA-262 ismiyle biliniyor. 1997’de geliştirilen ilk standartta belirtilen ECMAScript ise JavaScript standartlarını belirledikleri dilin adı aslında. Dokümanın kendisinde de belirtildiği gibi,
ECMAScript is based on several originating technologies, the most well-known being JavaScript (Netscape) and JScript (Microsoft).
En son 12. sürümü Haziran 2021’de yayınlandı.
Yine dokümana baktığınızda sıkça göreceğiniz bir başka terim olan TC39 da ECMAscript’in geliştirilmesinden sorumlu olan komiteyi ifade ediyor. (Technical Commitee 39)
ECMAScript Nedir?
ECMAScript ise aslında ECMA’nın scripting (betik) dilleri için oluşturduğu standartları ifade eden programlama dili için kullandığı bir tanım.
Oluşturulan bu standartlar, bir scripting dilinin sahip olması gereken özellikleri ve takip etmesi gereken kurallar bütününü oluşturuyor. ECMAScript de aslında bu özelliklerin bütününe sahip olan dilin bir ifadesi.
JavaScript de ECMAScript’te belirtilen kurallar ve özellikler bütününe uyan bir scripting dili olduğu söyleyebiliriz.
Kısaca, JavaScript kullandığımız dil ilken, ECMAScript bu dilin standartlar bütünüdür.
ECMAScript standartlarını okuyarak, yeni bir scripting dilini nasıl oluşturacağınızı öğreniyorken, Javascript dokümantasyonunu okuyarak JS’i nasıl kullanabileceğinizi öğrenebilirsiniz.
JavaScript ECMAScript’te standartlara göre tanımlanan bir çok özelliği kullanıyor ve JavaScript’in dokümantasyonu da bu standartlar temel alınarak hazırlanıyor.
Scripting — Script (Betik) Dili Nedir?
Buraya kadar scripting(Betik) dilleri dedik ama bu scripting diller tam olarak ne anlama geliyor?
Yazılım dilerini şu şekilde 3 gruba ayrılabiliriz:
- Programlama dilleri,
- Scripting (Betik) dilleri ve
- Markup dilleri
Programlama dilleri temel olarak bilgisayara ne yapması gerektiğini söyleyebildiğimiz yazılım dillerini ifade etmektedir. Doğrudan makine diline derlenerek donanım birimlerinin yazılımla yönetilmesini sağlar.
Scripting dillerinin çalışma şekliyse programlama dillerinden farklıdır ve aslında programlama dillerinin bir alt gurubu gibi konumlandırılabilir.
Script, kelime anlamı itibariyle talimatlar, yapılması gereken işler bütünü gibi bir anlama karşılık gelmektedir. Kelimenin anlamından da görüleceği gibi Scripting diller bir programın çalışma anında (runtime) çalışan, program içerisinde işlev gören, derlenmeden okunup yorumlanıp işini yapan programlardır.
Başka programları kontrol etmek için ya da o programların nasıl çalışacağıyla ilgili yönlendirmeleri de içerebilirler. Domain-spesifik dillerdir. Yani sadece belirli bir işe odaklı olarak çalışırlar.
JavaScript bu özellikleri açısında iyi bir scripting dili örneğidir:
- Sadece tarayıcı içerisinde çalışır.
- Derlenmezler.
- Runtime’da doğrudan yorumlanırlar.
- HTML üzerindeki verilerde değişiklik yapılmasını sağlarlar.
- Doğrudan donanım üzerinde bir yönetim sağlayamazlar.
Son bir kaç yıldır JavaScript en çok kullanılan yazılım dilleri arasında. 2016’dan beri çok daha kapsamlı güncellemelerle daha hızlı bir şekilde gelişiyor. Standartlarla ilgili ön yazıda da yazdığı gibi, henüz daha evrimini tamamlanmamış ve ilerde çok daha büyük değişimlerle gelişmeye devam edecek.
Bu makalenin İngilizcesi, Fatih Akgöze’nin Medium profilinde okunabilir.