The irony of Web programming was that it’s concept was to remove all the processing on to the server so the client was thin and only had to worry about the presentational layer (i.e. the browser). However, as web applications have become more complex and feature rich, it has been necessary to push that ideal to the limit.
The simple but hard solution
Light on the Horizon
The good news is that the big players are finally getting it together. IE8 is supposed to be the most pure implementation of browser standards and Firefox 3 also claims they’ll be there. The major players currently support ECMA 3 (well, support in a loose sense maybe…) and are working towards ECMA 4. To quote their overview paper:
“ES4 is compatible with ES3 and adds important facilities for programming (classes, interfaces, namespaces, packages, program units, optional type annotations, and optional static type checking and verification), evolutionary programming and scripting (structural types, duck typing, type definitions, and multimethods), data structure construction (parameterized types, getters and setters, and meta-level methods), control abstraction (proper tail calls, iterators, and generators), and introspection (type meta-objects and stack marks).”
Ironically this means we’re getting closer to a Java implementation, although the concepts can be mapped to .NET, so by default both sides of programmers will grasp the concepts, even if the syntax is closer to Java. Unfortunately no release date is mentioned, so this could mean we’re some time way off a release proper.
There is a pre-release verision available here -> http://www.ecmascript.org/download.php