Casi todos los lenguajes maduros están definidos por una especificación, y los compiladores o intérpretes intentan seguir el estándar definido en esa especificación. Pero muy rara vez tienen éxito, a menos que el autor del lenguaje defina el estándar.
Puede encontrar el C ++ 2003 standard , el Especificación C # 4 , especificación de Java 7 y muchos más en línea. Muchos de estos tienen números de estandarización ECMA o ISO. Estas son solo organizaciones con las que puede registrar un estándar y hacerlo más oficial.
Históricamente, Ruby ha hecho las cosas de manera un poco diferente, teniendo un conjunto de pruebas ejecutables como una especificación . Entonces, si desea escribir un intérprete y llamarlo Ruby estándar, solo tuvo que crear un intérprete que haya superado todas esas pruebas. Pero incluso Ruby es probablemente se convierta en una especificación más formal eventualmente.
Javascript no es diferente, excepto posiblemente en la forma en que ha evolucionado.
Javascript fue creado por primera vez por Netscape. Lo llamaron LiveScript, pero se parecía a Java y hicieron un trato con Sun sobre el nombre, lo que benefició tanto a la comercialización de Netscape como a Java. Microsoft tenía VBScript y (por razones probablemente perdidas en conjeturas) básicamente copió Javascript, pero el nombre era propiedad de Sun, por lo que descaradamente lo llamaron JScript.
Pero JScript, aunque es muy similar a Javascript en su sintaxis, hizo mucho uso de COM, por ejemplo, IE5 y 6 crea una instancia de un objeto XMLHttpRequest utilizando new ActiveXObject("Microsoft.XMLHTTP");
.
Y así nacieron "dialectos" paralelos, similares pero también diferentes de Javascript. Con el tiempo, varios grupos que poseen navegadores con menos cuota de mercado que IE han intentado estandarizar el lenguaje, y durante años Microsoft resistió. Hasta V8.
V8 fue rápido. Estableció un nuevo estándar de mercado. Hizo que todo lo demás pareciera pobre.
Y, a través de varios casos antimonopolio contra Microsoft, IE estaba perdiendo cuota de mercado. De repente, a Microsoft le interesaba apoyar la estandarización. Aún no estamos allí, pero estamos en el camino correcto.
Mientras tanto, V8 era de código abierto, lo que permitía a las personas comenzar a pensar en nuevos usos para un analizador Javascript rápido, como Node.JS .
Pero, para volver a su pregunta: ¿Qué es Javascript? Es el nombre común (y original) de ECMAScript, una especificación para un lenguaje prototípico comúnmente, pero no exclusivamente, utilizado para navegar y manipular el modelo de objeto de dominio en un entorno.
ECMA-262 es solo la definición estándar, como ECMA-334 es la definición estándar para C #. ECMAScript fue el único nombre que todas las partes interesadas pudieron acordar, en el 99, cuando se escribió ECMA-262.