Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What's the state of the Javascript language?

Tags:

javascript

Lots of useful libraries have been built on top of Javascript but I never hear of any changes to the Javascript language itself.

Is Javascript evolving or is it essentially frozen?

like image 426
Mark Westling Avatar asked Nov 11 '09 01:11

Mark Westling


4 Answers

JavaScript 1.8 definitely contains lots of new features. It's currently only supported by Firefox 3.x (and other Mozilla-derived JavaScript execution environments).

Standards-wise, ECMAScript 4 has had a bumpy road and is now officially abandoned, so there hasn't been a new JavaScript standard since ECMAScript edition 3 in 1999. Wikipedia's page on the future of ECMAScript adds some detail you might be interested in.

like image 57
Daniel Pryden Avatar answered Sep 22 '22 14:09

Daniel Pryden


Brendan Eich (the creator of JavaScript) and Douglas Crockford recently gave a couple of talks at the YUICONF 2009, about the current state of the language, ECMAScript 5, the development process and efforts to improve the language in the future:

  • The State and Future of JavaScript (video, and slides)
  • ECMA Harmony and the Future of JavaScript
like image 20
Christian C. Salvadó Avatar answered Sep 19 '22 14:09

Christian C. Salvadó


Ecmascript 5 is up for a vote in december. It will probably be ratified.

Ecmascript 5 is a batch of improvements that Douglas Crockford has suggested over the years, combined with some things from the prototype library, and some good metaprogramming foundations for the next version after ecmascript 5 (current effort is code-named ecmascript harmony)

In addition, there's a mode called "use strict" which can be set either at a script level, or for individual functions that removes old features that they want to get rid of to make the language more secure. The mandate is that all future scripts should be written using "strict" mode. Future versions of ecmascript will be built on top of the strict mode, and remove the older features of the language entirely.

Oh, also it has a JSON encoder/decoder built in based on crockford's json2.js. That native JSON encoder/decoder is already available in safari 4, firefox 3.5, and ie8

like image 28
Breton Avatar answered Sep 21 '22 14:09

Breton


The language itself is relatively stable. It will continue to receive new features, but on the whole, the need to introduce such changes with a broad [enough] support, and also various requirements implicit to the usage/platform (for example security and privacy requirements), will continue to make the language itself evolve rather than revolve and slowly rather than fast.

The implementations of the language should however continue to improve a lot, in terms of performance mostly; see the healthy competition between the major commercial or open source players if you disagree.

Beyond the language proper and its implementations, I think that a more significant trend is with usage of the language. A concept that's been floated around is that of "Javascript as the new assembly code". This means that just like the majority of programmers do not look at assembly code on a regular basis, but instead rely on compilers to convert from languages of a higher level of abstraction, several "javascript frameworks" and libraries, such as GWT, dojo, Ext JS or JQuery etc. will serve the role of compilers letting the programmer focus on the higher level of details.

Even if one hand-writes javascript programs, these are typically, compressed, obfuscated and generally optimized in a form which doesn't offer a friendly read (when one unlucky soul needs to debug things at that level.)

like image 36
mjv Avatar answered Sep 20 '22 14:09

mjv