I have previously commented on the importance of JavaScript to Adobe and Web 2.o in general – so it is very notable that work on ECMAScript 4 has been partitioned or delayed depending on who you consult. Clearly there is a functional and learning burden making the shift up to JavaScript 2/ECMAScript 4 – just ask any JavaScript coder who has had to pick up ActionScript.The real question is this – does JavaScript need to fork?
I have said it before and it bears repeating – Yes It Does!
There is the JavaScript of short Application macros(think Photoshop or Dreamweaver user commands) or web page scripts (think of simple 1 or 2 line Web scripts)- which are easy to use, auto-defining by variable use, case insensitive and where 1 to 30 lines of code gets most things done. Then there is the Web 2.0 use of JavaScript where thousands if not hundreds of thousands of lines of code are not unheard of in JavaScript frameworks from Backbase, Google Gears, and YUI to name only a very few.
ECMAScript 4/javaScript 2 deliver complete OO, strong Typing, strong exception/error handling and Namepsace protected code are just some key large-scale requirements for Web 2.0 applications. But the price top pay is the added complexity of the language which will drive away the casual macro and small Web scripting user. Time to fork
Keep JavaScript say 1.5 or .6 as JavaScript Simple==JSimple. Leave in the functional programming but also simple the ease of use or forgiving features like trivial variable declaration, case insensitive names, and simple array, object and string literals. Yes make the interprester”smarter” on parsing the language for the sake of ease of use. Rember rthe size of the code will be 1-40 lines most of the time. So KISS the JSimple code.
This will then allow JavaScript 2/ECMAScript 4 evolve in the direction of being the Web’s major data processing language on both the client and server. Full bore in developing/extending the syntax for these capabilities. Bu I supect the people that are moving to table/delay JavaScript 2 have a completely different agenda – more on this later.