I've been toying with ECMAScript for the past week or so, mostly to update some dynamic user interface elements in a web application we have. Every time I use it, I'm always impressed at the cool things I can do with it. It also makes me wish that Microsoft had not messed with it as part of the CLR (JScript.NET). Their newest version of JScript seems to merely make it into an alternate syntax, and not really take advantage of what it could do as a prototype-driven language with closure support.
I found this article that claims that it is the world's most misunderstood language. I think I agree. It's incredibly powerful, but very underutilized because of the confusion surrounding it. Closures coupled with prototypes can yield some very slick code if you understand what you're doing (and I guess maybe that's the problem). All you really need is a nice IDE to help you manage your objects and their prototype chain.
I'm also getting more into Python and Ruby, which are also very slick. I'm just not sure how they should fit into a project. In general, a project with fewer languages is more maintainable. But imagine trying to build a skyscraper when your only tool is a hammer that works really well. (OK, maybe hammer is not the best analogy. Maybe a blowtorch? I don't know)
[UPDATE] I just had to include this link, where the author shows us how to do lot of different code reuse patterns, including multiple inheritance in Javascript. My favorite quote:
This large set of code reuse patterns comes from a language which is considered smaller and simpler than Java
Remember Me
Page rendered at Monday, October 13, 2008 10:17:41 AM (Pacific Standard Time, UTC-08:00)
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.