2010-01-30 7 views

Respuesta

20

Hay una diferencia entre ECMAScript y JavaScript, ¿verdad?

ECMAScript es un lenguaje bien definido (especificación here).

JavaScript es un dialecto de él, no una implementación completa por lo que yo entiendo, además contiene lo que cinco generaciones de navegadores le hicieron.

Como señala Christoph en su comentario, la implementación de Microsoft de ECMAScript en realidad se llama JScript, y la palabra "Javascript" tiene licencia para la fundación Mozilla.

La percepción general, creo, es la de JavaScript como la suma de la implementación de cada navegador de ECMAScript. Sería tremendamente confuso cambiar eso y ser incorrecto en los hechos.

+5

solo por aclaración: JavaScript es el dialecto ECMAScript de Mozilla, ya que JScript es Microsofts; la marca registrada de JavaScript es propiedad de Sun, con licencia para la Fundación Mozilla – Christoph

+0

@Christoph. Gracias por la aclaración, ¡no lo sabía! –

+0

+1 buena respuesta Pekka. – alex

1

Porque ECMAscript es el estándar y Javascript es una implementación (aunque una implementación masivamente fragmentada). Lo cual no es totalmente compatible con ECMAscript.

+0

pero la palabra 'JavaScript' no define realmente una implementación específica. Es una palabra con derechos de autor, propiedad de IBM o algo así. –

+0

Las implementaciones Plus tienen diferentes nombres (SpiderMonkey, v8, etc.) –

+0

@Luca Es por eso que dije que estaba masivamente fragmentado. En definitiva, con los navegadores que tienen niveles de soporte tan diferentes que llaman todo, Javascript es lo mejor que podemos hacer. A menos que prefiera consultar la implementación de cada navegador individualmente. – Cromulent

7

Haga su pregunta en voz alta y verá que es su propia respuesta.

Si lo deletreas, entonces las cinco sílabas de EEE-SEE-emm-EH script son un buen bocado. Y si intenta pronunciarlo como una palabra, saldrá como EczemaScript, lo que llevará a a rash of jokes.

Además, "JavaScript" es más que ampliamente utilizado, está incrustado. De ninguna manera vas a poder evitar que las personas digan "JavaScript".

edición

Por una coincidencia espeluznante Acabo de ver el discurso de Steve Yegge del OSCON de 2007, en la que habla de la marca y el software. Él toca el tema de JavaScript vs ECMAScript. Sin llegar a una conclusión, es cierto, pero Steve siempre tiene una buena relación. Watch it now.

+0

Creo que ECMA suena muy bien :). ¿A menos que signifique algo extraño en inglés? –

+7

Lo pronuncio como EkmaScript, o Ekmas como una forma corta. Tiene razón en que es imposible evitar que las personas lo llamen JavaScript, del mismo modo que es imposible evitar que lo llamen Java. – Annan

0

Motivos históricos. Incluso si JavaScript ™ es en realidad solo el nombre del dialecto ECMAScript mantenido por Mozilla Foundation, uso el término Javascript (sin mayúscula) para abarcar todos los dialectos comunes de ECMAScript.

6

La historia de por qué se llama JavaScript es intrincada y tiene mucho que ver con hacer que los desarrolladores se sientan cómodos con el nuevo idioma.

Originalmente era Mocha, luego LiveScript, y finalmente JavaScript. Llamarlo JavaScript probablemente tiene mucho que ver con por qué fue tan ampliamente adoptado, ya que las personas suponen que es similar a Java y otros lenguajes de la familia C que la mayoría de los programadores usan todos los días. En realidad, tiene mucho más en común con Scheme y algunos de los lenguajes prototípicos más esotéricos.

JavaScript es un lenguaje bien especificado y sorprendentemente bien implementado en todos los navegadores. Hay elementos de la especificación que causan dolores de cabeza importantes, como la inferencia de punto y coma, pero estos son bastante consistentes con la especificación en todas las implementaciones.

Es la biblioteca DOM que causa el 99% de los dolores de cabeza con implementaciones de navegador cruzado en el mundo real.

2

Como una adición a las otras respuestas:

  1. HTML specs sugieren usar el tipo text/javascript MIME:
    <script type="text/javascript">

  2. archivos Normalmente EcmaScript se guardan con la extensión de archivo .js

1

Porque JavaScri pt Fue su nombre (otorgado por Netscape) muchos años antes de que Microsoft empujara a través de la estandarización por ECMA en un intento de legitimar su JScript desarrollado independientemente.

0

Porque ECMAScript es un nombre que hace referencia al lenguaje estandarizado por ECMA. JavaScript/JScript es un dialecto del idioma, pero no es el único. Hay otros dialectos como ActionScript. Por lo tanto, el término "ECMAScript" no solo se refiere a JavaScript/JScript, sino también a otros dialectos como ActionScript que NO son lo que está integrado en los navegadores.

Cuestiones relacionadas