|
Alex Russell has seen the confusion of the many names that were bandied
around with the Harmony news last week. There are so many names, that
involve specs, projects, and general technical jargon that it can get a
little confusing. Alex has made
it very clear:
- ECMAScript 3
- Aka: JavaScript, ES3, ECMAScript 262-3, and JScript.
The current JavaScript that every browser implements (more or less).
This is the current ratified standard and represents the 3rd edition of the
ECMAScript spec. It is very old. Nothing else in this list is (yet) a
ratified standard of any sort.
- ECMAScript 4
- Aka: ES4, ?JavaScript 2?.
A new language which was to be mostly backwards compatible but add
optional (gradual) typing and class-based inheritance. Based loosely on
Adobe?s ActionScript 3. This is the language effort which died as a result
of Harmony.
- ECMAScript 3.1
- Aka: ES3.1. A set of small additions to ES3.
Planning for this edition was started at Microsoft and Yahoo?s behest
late last year, causing the split in the working group which has been
healed by the Harmony announcement.
- ActionScript 3
- Aka: AS3
Adobe?s current JavaScript-like language, only with many features
lifted from languages like Java which also enforce types and class-based
semantics. This was the starting point for much of the work which became
known as ES4.
- Tamarin
- A JIT-ing byte-code virtual machine (VM) which is at the core of the
Flash Player and was donated by Adobe to the Mozilla Foundation. This is
the VM that runs ActionScript 3 code today but will likely run ?real?
JavaScript for Mozilla in the future. It is not a full implementation of
ES3 or ES4, but instead implements its own byte-code and needs to be wedded
to a ?front end? (like the ActionScript 3
compiler from Adobe) in order to be usable by programmers.
- Tamarin-tracing
- A VM which implements the same byte-code language as Tamarin (known as
?ABC?) but which is designed for use in mobile devices and other scenarios
where code size and VM footprint are important. It implements trace-tree
JIT-ing as a way to speed up hot-spots. Also donated to Mozilla by
Adobe.
- TC39
- The name of the ECMA technical
committee which is chartered to evolve the JavaScript language.
- Harmony
- A new code-name for a language which is to come after ES3.1. It will
feature many of the things ES4 was trying to accomplish, but may attempt
them from different directions and will
focus much more on incremental, step-wise evolution of the language.
- JavaScript 2
- A now-defunct name. This name was originally given to Waldemar
Horwat?s first proposal at a large-scale evolution of the JavaScript
language in 1999. That effort did not succeed (although Microsoft
implemented some of it in JScript.NET) and subsequent work via the current
TC39 charter to build ES4 has sometimes been given the name ?JavaScript 2?,
but it never really stuck. Not a name that describes any ratified standard
or current proposal.
- ECMAScript
-
- The formalized name of the JavaScript language. Since Sun Microsystems
owns the name JavaScript and has no idea what to do with the trademark (but
has been benevolent thus far), the ECMA committee which standardized the
language was forced to adopt a different name.
|