Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Is calling it "Javascript" even still correct, or should it be called "ECMAScript"? If someone says they write "Javascript using ES2017" are they talking utter nonsense?

I can find some references to "Javascript" being an implementation of ECMAScript, but doesn't appear to true [1]. Mozilla's implementation is SpiderMonkey, Google's is V8, and Microsoft has Chakra and JScript.

[1] https://en.wikipedia.org/wiki/ECMAScript#Implementations



History time!

Netscape created a language which they called LiveScript when it first shipped in a beta build, largely influenced by Java. By the time of Netscape Navigator 2.0 beta 3, they had negotiated a license for the Java name from Sun and renamed the language JavaScript (and, as wamatt pointed out, Sun owned the JavaScript trademark, now owned by Oracle following the Sun acquisition).

IE3 shipped a reverse-engineered copy of JavaScript, which they called JScript because they didn't have a license to the JavaScript trademark.

Later in the same year that Netscape Navigator 2.0 and IE3 shipped, Netscape submitted a specification of their JavaScript language to Ecma. What followed, as far as I'm aware, was a bit of a debate about naming: JavaScript was basically out of the question due to it being a Sun trademark, JScript was a MS term that Netscape didn't want to legitimise, and hence the compromise was ECMAScript (why this uses the pre-1994 capitalisation of Ecma is a good question!).

So, essentially, JavaScript, JScript, and ECMAScript are three names for the same language.

This then gets a bit complicated as Netscape and then Mozilla referred to ECMAScript revisions as JavaScript versions, and then started adding non-standard extensions as new JavaScript versions, though they've basically killed that now.


> So, essentially, JavaScript, JScript, and ECMAScript are three names for the same language.

This is a little wrong/misleading.

ECMAScript is the specification; JavaScript, JScript, and ActionScript, are various implementations of the specification. Each implementation provides additional features not described in ECMA specs, such as access to ActiveX and the local computer in JScript.


Mozilla's view is that JavaScript is a language, of which they provide two implementations: SpiderMonkey and Rhino.[1]

As far as I'm aware, MS has used JScript to use to both their original implementation and the language it implements, as well as JScript.Net being both the implementation and the language it implements. I can't find any citation for this, however.

Adobe considers ActionScript a language, with implementations including AVM.[2]

[Edit:] I just realised you could also potentially mean "implementation" insofar as they define a host environment for ECMAScript, except JavaScript especially does not: just look at the difference between SpiderMonkey-in-a-browser and SpiderMonkey-on-the-CLI.

[1]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Abou... [2]: http://wwwimages.adobe.com/content/dam/Adobe/en/devnet/actio...


JavaScript is the de facto name of the language, at least the version used in web pages.


"largely influenced by Java"

I believe that's backwards. Javascript was based on Scheme & Self, the Java resemblance is only superficial; added later for marketing purposes when they picked up the JavaScript name.


The syntax was largely influenced by Java, although Scheme & Self influenced more of the semantics than Java did. From memory of what Brendan has written before, the language was meant to be, per managerial plans, "Java but a scripting language".


The syntax sure is much closer to Java than Scheme or Self. So was the obscuring of prototypal inheritance with the new keyword along with the Math object.


Unfortunately because of marketing and the (general) lack of technical expertise by recruiters, you gotta just put the whole kit and kaboodle on your resume. Mine looks like:

Javascript, JS, ES2015, ES2016, ES2017, ES5, ES6, ES7, ES8, Ecmascript 2015, Ecmascript 2016, Ecmascript 2017, HTML, HTML5, CSS, CSS3.... etc.

I worked as a recruiter so I know it's necessary because 1: recruiters ctrl+f like a mofo, and also your resume won't pop up on linkedin/ other sites if you don't hit their tags, and 2: recruiters will scan the "technologies" section to make sure you "have" the language that was given to them on their spec sheet.

Spec sheet will look like:

Web Developer 3+ years experience Knowledge of Javascript, HTML, CSS3

If you have CSS but not CSS3 the recruiter may not realize the difference (or may not realize that pretty much the most important thing on that spec is "Web Developer") and probably won't call.

So in short is calling it Javascript correct? shrug Nothing is correct in this mad world!


I guess if we're supposed to keep our resumes to 1 page we have to use 4 point font?


I use 10, but yea. I mean the bit I just commented about can be smashed onto one to three lines at the top, not a big deal.


Really short and accurate answer from People Who Know about why you don't see 'JavaScript' used as often:

- Oracle own the trademark on JavaScript (though buying what was left of Sun, through the Sun Netscape Alliance)

- Nobody trusts Oracle

A good idea proposed is just to call the language itself 'JS' and have it not stand for anything.


Sort of related: JS is officially written as "JavaScript" (yeah, ikr) and surprisingly the trademark is owned by Oracle.


This goes back to the Netscape / SUN partnership. SUN allowed Netscape to use their trademarked name Java when they created JavaScript. Microsoft created JScript. When they decided to standardize the language into a spec, they did so with ECMA. The involved parties couldn't agree on a name so they settled on the highly original name ECMAScript as a compromise.

"Eich commented that "ECMAScript was always an unwanted trade name that sounds like a skin disease.""


And, just to round this out, SUN is all-caps (rarely) because it was originally an acronym for Stanford University Network.


TIL and can now go to sleep




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: