Skip to content

The present and future of Javascript

December 3, 2007

It seems that the whole EcmaScript 4 thing has caused a lot of fuss. Some Microsoft bloggers have gone and taken an anti-EmcaScript 4 stance.

*I* think there are two approachs to take to moving the state of “programming language for the web” forward. One of them is to evolve Javascript in place (pardon me for collapsing ECMAScript, JavaScript, JScript et al together; it’s just easier, and one cup of coffee is not enough for me to be prepared to play semantic games). That requires one set of principles – ensuring stability of the ecosystem as it is today should take priority, furthering the interoperability of implementations (which is a problem today), enhancing performance and security, and then cool new language functionality. Those are the priorities I think should be placed on evolving Javascript. [1]

This of course has has started a bit of a flame-war. I’m of two minds about EcmaScript 4 myself. EmcaScript/Javascript as it currently stands is currently a elegant but somewhat flawed language that could certainly use improvements in areas. EcmaScript 4 does deliver many genuinely useful improvements but goes far beyond that – delivering a whole host of new changes. What concerns me is not so much that these changes aren’t useful but that they’ve somewhat killed off the simplicity that was EcmaScript < = 3.

Chris makes the point that improvements should flow in the following order:

1. ensuring stability of the ecosystem
2. furthering the interoperability of implementations
3. enhancing security
4. enhancing performance
5. cool new language functionality

I'm not sure about point 1. You can't really hold the language back – it needs to evolve. Point 2 is a red herring. As far as I can tell the specification for EcmaScript 4 is backed by a detailed spec and a reference implementation. What else do you need for interoperability here? Enhancing security is a good point – Javascript could really use a good sandboxing system. The performance point is also a red herring. This is an implementation detail and from my experience Microsoft performs poorly in this area while everyone else is making great improvements. ES4 doesn't alter or effect this.


From → Javascript

Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: