From: Phrogz Date: 2006-08-24T05:15:07+09:00 Subject: Re: SpiderMonkey / OSSP js? David Vallner wrote: > Prototype-based OO *is* OO, even if you don't understand it. (I'll admit > at this point I prefer the Self / IO style of prototype-based OO than > Javascript's, but that's personal preference.) Depending on your definition of what OO means, I might disagree. JavaScript is nicely OO in that there are Objects that have Methods and Properties, and an implicit scope ('this') inside those methods. If you consider classes, and especially class inheritance, to be an important part of OO, then you're in for a surprise. Not only does the language not support it well, but even with some dirty hacks[1] there are still serious limitations[2] when it comes to more than one level of inheritance. I like Ruby more than I like JavaScript, but don't get me wrong - JavaScript has a lot going for it. First-class functions that are also closures, with the ability to invoke them using arbitrary scope. The ability to reopen a 'class' and add functionality. Terse literals for associative arrays that preserve insertion order ;). I just wouldn't want to have to code a LARGE application in JavaScript. (At least not ECMAScript-263 rev 3. Newer, proposed specs have some things going for them to make them nicer.) [1] http://phrogz.net/JS/Classes/OOPinJS.html [1] http://phrogz.net/JS/Classes/OOPinJS2.html