Archive for June 11th, 2007

The Open Web and JavaScript 2

June 11th, 2007

Recently we’ve been talking about the Open Web as platform, and making the Open Web itself a rich platform. While this is a rather abstract discussion, one very concrete aspect of it is JavaScript, a key ingredient in interactive applications like Google Maps. (JavaScript is also referred to as ECMAScritpt, named after ECMA, the standards body through which the language has been standardized.) And one very concrete step occurred on Friday with the public release of a Reference Implementation for ECMAScript Edition 4. This is more generally known as “JavaScript 2.” The Reference Implementation is an early release, allowing the power of many eyes and many brains to understand and participate in the development of JavaScript 2.

Why does this matter? And why does it matter to the concept of the “web as platform?”

JavaScript is the language of the web. (I don’t mean to say it is the only fine scripting language or is better than other languages for various tasks. There are a number of excellent scripting languages.) Much of the web is written using JavaScript and it’s likely to stay that way for some time. In fact, JavaScript is so widely deployed on the web that the use cases and workloads outstrip the original design of the language. JavaScript is malleable enough that people have devised all sorts of ways to make things work that were not widely foreseen when the language was designed and standardized. But some of these uses and workloads could be much more effective with an updated version of JavaScript. And so, work on defining the next version of JavaScript has been underway for several years. This work is known as the work on “ECMAScript Edition 4.”

JavaScript is intimately tied with Mozilla. JavaScript was created in 1995 by Brendan Eich, who went on to become a co-founder of the Mozilla Organization at the launch of the Mozilla project in 1998. Both Brendan personally and the Mozilla project in general devote an enormous amount of time and focus to JavaScript. Mozilla maintains one of the major JavaScript implementations (known as “SpiderMonkey“) in our source base. We also maintain a version of JavaScript written entirely in Java known as “Rhino.” In addition, in November we launched the Tamarin Project based on Adobe’s contribution to create a virtual machine shared by Mozilla projects, Adobe products and anyone else who is interested.

Mozilla’s implementations of JavaScript are used by a range of organizations and products as well as Mozilla projects.

Mozilla has been deeply involved in improving both the JavaScript language itself as well as the Mozilla implementations. Brendan is the “convener” of the ECMA working group for ECMAScript Edition 4 (the precise name of this group is TC39-TG1 — Dynamic Scripting Language). There are other active participants of course, who have been collaborating under ECMA auspices for years.

The Reference Implementation is under active development, with plans to finish it this summer and then finalize the specification itself. The benefit of a Reference Implementation is having a testable example of what the JavaScript 2 does and doesn’t do. This allows for better evaluation of the updated language. It also allows for better drafting of the specification and ultimately a more precise specification that will foster inter-operation on the Web among browsers.

Making the Reference Implementation public now encourages review, evaluation and comment. This brings the benefits of greater understanding, problem finding and problem solving that we’ve become familiar with in the open source world.

JavaScript is not something the general consumer works with or even understands. Many may not know of it or understand why it matters. But JavaScript is a fundamental element of the web. It’s fundamental in human interaction with the web. Updating JavaScript’s capabilities updates the power of the web itself. Updating the web through open standards and through open source like Mozilla moves the web forward in a way that is accessible to all.

That’s the Open Web. That’s the Mozilla mission. And that’s why Mozilla invests so much in fundamental technologies such as JavaScript.

Skip past the sidebar