JavaScript denince akla ilk olarak Java ile arasında bir bağlantı olup olmadığı geliyor. Wikipedia’da makalesi ilk yayınlandığından beri ilk cümle olarak; JavaScript başlığının altında JavaScript ile Java arasında bir bağlantı olmadığı yazıyor. 1995 yılında ilk olarak Brendan Eich tarafından geliştiriliyor JavaScript. “WWW” henüz yeni doğmuş durumda, web sayfası dediğimiz şey statik not defteri sayfalarından oluşuyor. Zamanla bu çılgın teknolojinin daha dinamik olması gerektiği talepler artmaya başlıyor. Netscape ekibi de bu talebi ciddiye almak için işe koyuluyor. Finalde Netscape Navigator için bir scripting dili olarak JavaScript oluşuyor.
Daha yapım aşamasındayken adı Mocha olan bu scripting dili, ilk resmi test yayınında LiveScript olarak sunulduktan sonra Aralık 1997’de, Netscape’in 2.0 Beta sürümüyle birlikte de son halini alarak JavaScript adıyla karşımıza çıkıyor. Hiçbir bağı olmasına rağmen seçilen bu isim, Java diliyle ilgiliymiş gibi görünerek kafa karışıklığına neden oldu. Tabi doğrudan bir ilişkisi olmasa da küçük de olsa dolaylı bir bağı vardı. Aynı vakitlerde Microsoft ile teknoloji yarışı içerisinde olan Netscape; Java’yı destekleyerek dağıtık bir işletim sistemi ortaya çıkarmak için kullanmayı hedefledi. JavaScript’i de aslında bu işletim sistemi içerisindeki bir scripting dili olarak kullanmayı hedeflemişlerdi. Bu yüzden aslında bilinirlik oluşturmak ve pazarlama hedefiyle bu ismin verildiği de söylenebilir. Bunu tarayıcıya ekleyen Netscape, artık daha aktif web siteleri oluşturulmasının da önünü açmış oldu. Microsoft buna karşılık olarak hızlıca JScript adını verdiği ve Explorer’a entegre ettiği bir betik dil duyurdu. Netscape 1996 yılında ECMA’ya, JavaScript’in endüstri standardı olarak kabul edilmesi için başvurdu. 1997’de ECMA, ECMAScript adını verdiği; JavaScript’i ve JScript’i baz alan bir scripting standartları yayınladı. ECMAScript de hayatımıza bu şekilde dahli olmuş oldu.
ECMA’nın Doğuşu
ECMA, “European Computer Manufacturers Association” yani Avrupa Bilgisayar Üreticileri Birliği; yazılım dilleri bilgisayar donanımları, ve iletişim teknolojileri için standartlar geliştirmeyi hedefleyen ve kar amacı gütmeyen bir kuruluştur. Büyük çoğunluğun alışmış olduğu QWERTY klavye düzenini de ECMA’nın getirmiş olduğu önemli standartlardan bir tanesi olmuştur. Floppy Disk’ten, C yazılım diline kadar birçok donanım ve yazılım için standartları belirlemiş, bunların uluslarası düzeyde kabul gören standartlarını da kabullendirmişlerdir. JavaScript için geliştirilen standartlar; ECMA-262 ismiyle tanınmaktadır. Aslında 1997’de oluşturulan ilk standartta ki ECMAScript ise JavaScript standartlarını belirledikleri dilin adıdır.
ECMAScript Nedir?
ECMAScript aslında ECMA’nın scripting dilleri için oluşturduğu standartları ifade eden programlama dilinin genel tanımıdır. Bahsedilen bu standartlar, scripting dilinide olması gereken özellikleri ve takip etmesi gereken kurallar bütününden oluşuyor. ECMAScript de aslında bahsedilenlerin bütününe sahip olan dilin ifadesidir. JavaScript, ECMAScript’in belirlemiş olduğu kurallar ve özellikler bütününe uyan bir betik dilidir. Daha açık şekliyle; JavaScript kullandığımız dil ilken, ECMAScript bu dilin standartlarını oluşturan bütündür. ECMAScript standartları yeni bir betik dilini nasıl oluşturulacağını öğretirken, Javascript dokümantasyonu JavaScript’in nasıl kullanabileceğine rehberlik eder. JavaScript, ECMAScript’te tanımlanan standartlara göre bir çok özelliği kullanır ve JavaScript’in dokümantasyonu da bu standartlar baz alınarak hazırlanır.
Scripting veya Script (Betik) Dili Nedir?
Yazılım dilerini; programlama, Scripting (Betik) ve Markup dilleri olarak 3 gruba ayrılabiliriz. Programlama dilleri bilgisayara kodlar aracılığıyla ne yapması gerektiğini söyleyebildiğimiz yazılım dillerini ifade etmektedir. Direkt olarak makine diline uyarlanarak donanım birimlerinin yazılımla yönetilmesini sağlar. Betik dillerin çalışma şekliyse programlama dillerinden farklıdır ve programlama dillerinin bir alt gurubu olarak tanımlanabilir. Kelime olarak talimatlar anlamına gelen scriptin, yapılması gereken işler bütünü gibi bir anlamı vardır. Açıklamada da anlaşılacağı üzere Scripting diller bir programın çalışırken (runtime); program içerisinde işlevde olan, derlenmeden okunup yorumlanıp işini yapan programlardır. Diğer programların nasıl çalışacağıyla ilgili yönlendirmeleri ya da o progların yönetimini de içerebilirler. Domain spesifik diller olarak tanımlanabilir. Yani sadece belirlenen işe entegre olarak çalışırlar.
JavaScript bu özellikler bakımından iyi bir betik dili örneğidir;
- Sadece tarayıcıda çalışır.
- Runtime’da doğrudan okunabilir.
- HTML üzerindeki verilerde farklılık yapılmasını sağlarlar.
- Derlenmeleri mümkün değildir.
- Donanım üzerinde doğrudan bir yönetim sağlayamazlar.
JavaScript son bir yıllarda en çok kullanılan yazılım dilleri arasındadır. 2016’dan bu yana kapsamlı güncellemeler alarak daha hızlı bir şekilde gelişiyor. Henüz evrimini tamamlamamış ve ilerde çok daha büyük değişimlerle gelişmeye devam ediyor olacak.