The History of Javascript

I am still not really clear about the semantics of the word "JavaScript" so I tried to do a little research. Technically speaking it is the sun trademark implementation of the ECMA-262 standard and it was also the force behind the standard. Microsoft has their dialect called JScript. So the name JavaScript is the actual JavaScript language and only has the ECMA standards in common with the other dialects.

All of the browser's support the ECMA standard edition3 released in 1999. This is the industry standard that was created as the baseline model. Since this is not updated very often and browsers are made by different companies with different philosophies we are left with many "flavors" of this language. The ECMA version 4 was slated to be released last October. It was going to have classes, namespaces, and a host of other features. This is what the ECMA posted on their web site:

The fourth edition of the ECMAScript language (ES4) represents a significant evolution of the third edition language (ES3), which Ecma approved as the standard ECMA-262 in 1999. ES4 is compatible with ES3 and adds important facilities for programming in the large (classes, interfaces, namespaces, packages, program units, optional type annotations, and optional static type checking and verification), evolutionary programming and scripting (structural types, duck typing, type definitions, and multimethods), data structure construction (parameterized types, getters and setters, and meta-level methods), control abstraction (proper tail calls, iterators, and generators), and introspection (type meta-objects and stack marks

That looks like a great plan, however it is on hold. People could not agree on what to put into the language. I think that there were to many cooks in the kitchen. The next release is now called ECMA Harmony and is more of an enhanced version 3 than a significant evolution. With the next big JavaScript revision on hold are we going to see more vendor enhancements creating less interoperability and portable code?

Here is a table that shows the current market implementations.

Vendor Browser Layout Engine Scripting Engine Scripting Language
Microsoft Internet Explorer 7 Trident JScript JScript
Mozilla Firefox 3 Gecko TraceMonkey JavaScript
Apple Safari WebKit SquirrelFish JavaScript
Google Chrome WebKit V8 JavaScript
Opera Opera Presto Futhark JavaScript

On a positive note for standards, Microsoft announced that they are supporting Jquery as part of it's official platform. This means better cross-browser support for web site programmers.

I decided to create a couple of charts to show the scripting history and browser implementations. I also created a chart that shows the history of ECMA-Script. This first chart shows the language from it's beginnings to the current state. You will notice the beginning years were the time when the standards were made. JScript has been pretty consistent and has adhered to the ECMA standards. Microsoft also create a new language for the .Net platform called JScript.Net. This looks like a nice full featured implementation that gives the developers extras like intellesense and step through debugging but it did not seem to catch on. Adobe has implemented ActionScript for their products. This leaves the original JavaScript which is currently in Version 1.8.

The other chart shows the browsers and what scripting versions they are using. There are a few new browsers hitting the market right now like Chrome and some older ones are gaining momentum like Safari and Opera. It seems like there are a lot of pieces floating around right now. Will ECMA Harmony be released? How about ECMA Version 4? Is Microsoft going to scrap JScript and move to JavaScript? Will there be some consolidation in the JavaScript layout and scripting engines? Will Ajax influence any new standards?

Figure 1) Dialects

Figure 2) Scripting Languages

Comments are closed.