>> The reason for javascript's bad reputation is probably more to do with >> incredible weak typing, but you could have the same problem with perl. >> > Certainly. And lacking the concept of classes and having to manually > stuff methods into properties when building an object has nothing to do > with it. Actually, it doesn't. There is no real difference for practical purpose between: class Foo { Foo() { ... } void method1(); void method2(); }; and: function Foo() { ... } Foo.prototype = { method1: function() { ... } method2: function() { ... } } ... when you compare it with other languages that lack static typechecking, that is.