Thoughts on Harmony
So the announcement about "Harmony" is up over at Ajaxian. Long story short: this is really good news. I won't get into the background on this since at this point it doesn't matter and much of it is embargoed behind ECMA rules anyway, but here are the key points from my perspective:
- ES 3.1 is on target to be short-run "cleanup" language and work after that will proceed starting from that baseline and not the previous ES4 proposals.
- We can probably have movement on ECMAScript.Next very soon. All eyes are on Redmond to see what the JScript team will commit to for IE 8.
- Both sides of the working group have put down the crack pipes. The new language won't be Java (protests not withstanding) or ActionScript 3 and it'll be a lot better than the lowest-common-denominator language that we're writing to now.
- ECMAScript.Next will not be able to be cast as a "performance improvement" on the basis of a lazy understanding of what makes JavaScript go fast. Classes are for structuring code and (sometimes) managing complexity. Types are for saying something about code and APIs. VMs are for speed. Implementations should be able to nail the "types/classes==speed" form of mental illness dead in the interim.
- The working group is working. I have a lot more faith in this process than I did 6 months ago.
Commenting on how things will evolve from here is absolutely premature...no one really knows. What's exciting, though, is that the important implementations of the existing language and their developer constituency seem to be in the drivers seat and progress is now predicated on solving their pressing issues. If a language like ES4 is going to evolve and be successful it will now need to prove that it can grow a serious constituency of its own before it is given permission to throw the rest of the web under the bus.
Thank goodness.