views:

301

answers:

9

The question says it all.

+10  A: 

There is a difference between ECMAScript and JavaScript, isn't there?

ECMAScript is a well-defined language (spec here).

JavaScript is a dialect of it, not a full implementation as far as I understand, plus it contains what five generations of browsers did to it.

As Christoph points out in his comment, Microsoft's implementation of ECMAScript is actually called JScript, and the word "Javascript" is licensed to the Mozilla foundation.

The general perception, I think, is that of JavaScript as the sum of every browser's implementation of ECMAScript. It would be horrendously confusing to change that, and factually incorrect.

Pekka
just for clarification: JavaScript is Mozilla's ECMAScript dialect, as JScript is Microsofts; the trademark JavaScript is held by Sun, licensed to the Mozilla Foundation
Christoph
@Christoph Thanks for the clarification, didn't know that!
Pekka
+1  A: 

Because ECMAscript is the standard and Javascript is an implementation (albeit a massively fragmented implementation). Which does not wholly support ECMAscript.

Simon
but the word 'JavaScript' isn't really defining a specific implementation. It's a copyrighted word, owned by IBM or something.
Luca Matteis
Plus implementations have different names (SpiderMonkey, v8 etc..)
Luca Matteis
@Luca That is why I stated it was massively fragmented. Ultimately with browsers having such different levels of support calling everything Javascript is the best we can do. Unless you would rather refer to each browsers implementation individually.
Simon
There are also a few other languages that are based on the ECMAScript (dialects) standard ie. ActionScript 3, QtScript, InScript etc.
TandemAdam
+4  A: 

Say your question out loud and you will find it is its own answer.

If you spell it out then the five syllables of EEE-SEE-emm-EH script are quite a mouthful. And if you attempt to pronounce it as a word it will come out sounding like EczemaScript, which will lead to a rash of jokes.

Besides, "JavaScript" is the more than just widely used, it is embedded. No way are you going to be able to stop people saying "JavaScript".

edit

By a spooky coincidence I have just watched the Steve Yegge keynote from the OSCON 2007, in which he talks about branding and software. He touches on the issue of JavaScript vs ECMAScript. Without reaching a conclusion, it's true, but Steve is always good value. Watch it now.

APC
I think ECMA sounds pretty cool :). Unless it means something weird in English?
Luca Matteis
I pronounce it as EkmaScript, or Ekmas as a short form.You're right that it's impossible to stop people calling it JavaScript, just as it's impossible to stop them calling it Java.
Annan
A: 
Christoph
A: 

OSCON 2007 keynote: How to Ignore Marketing and Become Irrelevant in Two Easy Steps - Steve Yegge

McDowell
+1  A: 

The history of why it is called JavaScript is a convoluted one, and has a lot to do with making developers confortable with the new language.

It was originally Mocha, then LiveScript, and finally JavaScript. Calling it JavaScipt probably has a lot to do with why it was so widely addopted, as people assume it is similar to Java, and other C family languages that most programmers use every day. It acutally has much more in common with Scheme and some of the more esoteric prototypal languages.

JavaScript is a well specified language, and is surprisingly well implemented accross all browsers. There are elements of the spec that cause major headaches, such as semicolon inferrence, but these are pretty consistent with the spec across all implementations.

It is the DOM library that causes 99% of the headaches with cross browser implemetations in the real world.

Matt
+1  A: 

As an addendum to the other answers:

  1. HTML specs suggest using the text/javascript MIME type:
    <script type="text/javascript">

  2. Usually ECMAscript files are saved with file extension .js

Jørn Schou-Rode
A: 

Because JavaScript Was it's name (granted by Netscape) many years before Microsoft pushed through standardization by ECMA in an attempt to legitimize their independently developed JScript.

John Stauffer
A: 

Because ECMAScript is a name which refers to the language standardized by ECMA. JavaScript/JScript is one dialect of the language, but it's not the only one. There are other dialects like ActionScript. So the term "ECMAScript" doesn't only refer to JavaScript/JScript but also other dialects like ActionScript which are NOT what is embedded into browsers.