Many web developers that have only worked with Javascript on the client-side seem to forget that the limitations they are used to inside the web browser and the DOM, do not apply when using Javascript on the server-side. For example, with Helma on the server-side, you can make use of any Java libraries. There is probably no language that has a wider range of available libraries. To instantiate an object from a Java class in Helma you could simply use something like:
var foo = new Packages.com.bar.util.Foo()http://helma.zumbrunn.net/intro/javapackages
On the server-side you are in control of the environment in which your application runs, which means you do not have the compatibility issues you are used to from the web browser. Also, you do not need to wait for new technology to be adapted by the user community. So, on the server-side you can always make use of the latest Javascript features. For example, you can use E4X because you would know that your server-side environment supports that.
Another example is being able to extend the Object and Array prototypes without worrying about breaking for/in loops, like is currently the case on the client-side. That ability alone allows you to bend Javascript in the directions of your preferred coding style and makes it incredibly flexible.
What you cant change, of course, is the curly braces syntax. But I think the fact that it shares that syntax with the two big languages C and Java is ultimately Javascripts big advantage that makes it a good companion in these environments.
5.7.2007, 18:30