Quasi tutti i linguaggi maturi sono definiti da una specifica e compilatori o interpreti cercano di seguire lo standard definito in quella specifica. Ma molto raramente ci riescono, a meno che lo standard non sia definito dall'autore della lingua.
Puoi trovare lo standard C ++ 2003 , il specifica C # 4 , Specifiche Java 7 e molti altri online. Molti di questi hanno numeri di standardizzazione ECMA o ISO. Queste sono solo organizzazioni con le quali puoi registrare uno standard e renderlo più ufficiale.
Ruby ha storicamente fatto le cose in modo un po 'diverso, avendo un insieme di test eseguibili come una specifica . Quindi, se vuoi scrivere un interprete e chiamarlo Ruby standard, devi solo creare un interprete che abbia superato tutti questi test. Ma anche Ruby è probabilmente a diventare una specifica più formale alla fine.
Javascript non è diverso, tranne forse nel modo in cui si è evoluto.
Javascript è stato inizialmente creato da Netscape. Lo hanno chiamato LiveScript, ma sembrava simile a Java e hanno stretto un accordo con Sun sul nome, che ha beneficiato sia del marketing di Netscape che di Java. Microsoft aveva VBScript e (per ragioni probabilmente perse per congetture) fondamentalmente copiato Javascript, ma il nome era di proprietà di Sun, quindi lo chiamavano sfacciatamente JScript.
Ma JScript, pur essendo molto simile a Javascript nella sintassi, ha fatto un sacco di utilizzo della COM - per esempio, IE5 e 6 istanziano un oggetto XMLHttpRequest usando new ActiveXObject("Microsoft.XMLHTTP");
.
E così sono nati parallelismi simili, ma anche diversi, "dialetti" di Javascript. Nel corso del tempo, vari gruppi proprietari di browser con una quota di mercato inferiore rispetto a IE hanno cercato di standardizzare la lingua e per anni Microsoft ha resistito. Fino al V8.
V8 era veloce. Stabilì un nuovo standard di mercato. Ha reso tutto il resto apparentemente scadente.
E, attraverso vari casi antitrust contro Microsoft, IE stava perdendo quote di mercato. All'improvviso, è nell'interesse della Microsoft supportare la standardizzazione. Non siamo ancora arrivati, ma è sulla strada giusta.
Nel frattempo, V8 era open source, che permetteva alle persone di iniziare a pensare a nuovi usi per un parser Javascript veloce, come Node.JS .
Ma, per tornare alla tua domanda: che cos'è Javascript? È il nome comune (e originale) di ECMAScript, una specifica per un linguaggio prototipo comunemente, ma non esclusivamente, usato per navigare e manipolare il modello di oggetti di dominio in un broswer.
ECMA-262 è solo la definizione standard, come ECMA-334 è la definizione standard per C #. ECMAScript era l'unico nome in cui tutte le parti interessate potevano essere d'accordo, nel '99, quando fu scritto ECMA-262.