Hampir semua bahasa dewasa didefinisikan oleh spesifikasi, dan kompiler atau juru bahasa mencoba mengikuti standar yang ditentukan dalam spesifikasi itu. Tetapi sangat jarang mereka berhasil, kecuali standar didefinisikan oleh penulis bahasa.
Anda dapat menemukan standar C ++ 2003 , spesifikasi C # 4 , spesifikasi Java 7 dan banyak lagi yang online. Banyak dari ini memiliki nomor standardisasi ECMA atau ISO. Ini hanya organisasi dengan mana Anda dapat mendaftarkan standar dan membuatnya lebih resmi.
Ruby secara historis melakukan hal-hal sedikit berbeda, memiliki serangkaian tes yang dapat dieksekusi sebagai spesifikasi . Jadi, jika Anda ingin menulis seorang juru bahasa dan menyebutnya Ruby standar, Anda hanya perlu membuat seorang juru bahasa yang lulus semua tes tersebut. Tetapi bahkan Ruby kemungkinan akan menjadi spesifikasi yang lebih formal pada akhirnya.
Javascript tidak berbeda, kecuali mungkin dalam perkembangannya.
Javascript pertama kali dibuat oleh Netscape. Mereka menyebutnya LiveScript, tetapi terlihat mirip dengan Java dan mereka membuat kesepakatan dengan Sun atas nama, yang menguntungkan baik pemasaran Netscape dan Java. Microsoft memiliki VBScript dan (karena alasan yang mungkin hilang karena dugaan) pada dasarnya menyalin Javascript, tetapi nama itu dimiliki oleh Sun, jadi mereka dengan nakal menyebutnya JScript.
Tapi JScript, sementara sangat mirip dengan Javascript dalam sintaksis, membuat banyak penggunaan COM - misalnya, IE5 dan 6 instantiate objek XMLHttpRequest menggunakan new ActiveXObject("Microsoft.XMLHTTP");
.
Maka, "dialek" Javascript yang paralel, serupa tetapi juga berbeda lahir. Seiring waktu, berbagai kelompok yang memiliki browser dengan pangsa pasar lebih sedikit daripada IE telah mencoba untuk menstandarisasi bahasa, dan selama bertahun-tahun Microsoft menolak. Sampai V8.
V8 cepat. Ini menetapkan standar pasar yang sama sekali baru. Itu membuat segalanya tampak miskin.
Dan, melalui berbagai kasus antimonopoli terhadap Microsoft, IE kehilangan pangsa pasar. Tiba-tiba, Microsoft berkepentingan untuk mendukung standardisasi. Kami belum ada di sana, tapi masih di jalur yang benar.
Sementara itu, V8 adalah open-source, yang memungkinkan orang untuk mulai memikirkan penggunaan baru untuk Javascript parser cepat, seperti Node.js .
Tetapi, untuk kembali ke pertanyaan Anda: Apa itu Javascript? Ini adalah nama umum (dan asli) untuk ECMAScript, spesifikasi untuk bahasa prototipe yang umum, tetapi tidak secara eksklusif, digunakan untuk menavigasi dan memanipulasi model objek domain dalam sebuah broswer.
ECMA-262 hanyalah definisi standar, seperti ECMA-334 adalah definisi standar untuk C #. ECMAScript adalah satu-satunya nama yang disetujui oleh semua pihak yang berkepentingan, pada tahun '99, ketika ECMA-262 ditulis.