Hemen hemen tüm olgun diller bir belirtim tarafından tanımlanır ve derleyiciler veya tercümanlar bu belirtimde tanımlanan standarda uymaya çalışır. Ancak, standart dilin yazarı tarafından tanımlanmadıkça, nadiren başarılı olurlar.
Sen bulabilirsiniz C ++ 2003 standardını , C # 4 şartname , Java 7 şartname ve daha birçok çevrimiçi. Bunların çoğu ECMA veya ISO standardizasyon numaralarına sahiptir. Bunlar sadece bir standart kaydedebileceğiniz ve daha resmi hale getirebileceğiniz kuruluşlardır.
Ruby, tarihsel olarak işleri biraz farklı şekilde yapmıştır, özellik olarak çalıştırılabilir bir test setine sahiptir . Bu yüzden, bir tercüman yazmak ve standart Ruby olarak adlandırmak istiyorsanız, tüm bu testleri geçen bir tercüman oluşturmanız gerekiyordu. Fakat sonunda Ruby'nin bile daha resmi bir şartname haline gelmesi muhtemel .
Javascript, muhtemelen evrimleşmiş olması dışında, farklı değildir.
Javascript ilk olarak Netscape tarafından oluşturuldu. LiveScript olarak adlandırdılar, ancak Java'ya benziyorlardı ve Sun ile hem Netscape hem de Java pazarlamasından yararlanan bir anlaşma yaptılar. Microsoft, VBScript'e sahipti ve (muhtemelen varsaymakla kaybettiği için) temelde Javascript'i kopyaladı, ancak adı Sun'a aitti, bu yüzden cheekily buna JScript adını verdi.
Ancak JScript, sözdiziminde Javascript'e çok benzer olmakla birlikte, COM'dan çok yararlandı; örneğin, IE5 ve 6, kullanarak bir XMLHttpRequest nesnesini başlattı new ActiveXObject("Microsoft.XMLHTTP");
.
Ve böylece, paralel, benzer ama aynı zamanda Javascript'in farklı "lehçeleri" doğdu. Zamanla, IE’den daha az pazar payına sahip tarayıcılara sahip çeşitli gruplar dili standartlaştırmaya çalıştı ve yıllarca Microsoft direndi. V8'e kadar.
V8 hızlıydı. Tamamen yeni bir pazar standardı belirledi. Her şeyin fakir görünmesine neden oldu.
Ve Microsoft'a karşı çeşitli antitröst davaları sayesinde, IE pazar payını kaybediyordu. Birdenbire, standardizasyonu desteklemek Microsoft’un ilgisini çekti. Henüz orada değiliz, ama doğru yolda.
Bu arada, V8 açık kaynak kodluydu ve bu da insanların Node.JS gibi hızlı bir Javascript ayrıştırıcısı için yeni kullanımlar hakkında düşünmeye başlamalarına izin verdi .
Ancak, sorunuza geri dönmek için: Javascript nedir? ECMAScript için yaygın (ve orijinal) ad, genel olarak prototipik bir dilin belirtimidir , ancak yalnızca bir broswer'daki etki alanı nesne modelinde gezinmek ve işlemek için kullanılmaz.
ECMA-262 sadece standart tanımdır, ECMA-334 gibi C # için standart tanımdır. ECMAScript, ilgili tüm tarafların ECMA-262'nin yazıldığı 99'lu yıllardan beri hemfikir oldukları tek isimdir.