33 ms·
Well, powerful enough in what sense? If you are talking about power in the pg sense (http://www.paulgraham.com/power.html http://www.paulgraham.com/power.html),
by martythemaniak 19y ago
Well, powerful enough in what sense? If you are talking about power in the pg sense (http://www.paulgraham.com/power.html http://www.paulgraham.com/power.html), then JS is indeed very powerful - properly written it can be very succinct and expressive and and has had many great features for a long time. With ES4 (due out later this year I think) the language should really come into its own.
Where JS isn't powerful is things related to where and how it runs - performance in the browser is not great and the API is practically the HTML DOM and a few other objects.
I think the author's strongest point is that when it comes out, ES4 will need some type of branding/marketing campaign - perhaps a new name, then getting all browser vendors to use the same name (ie, no more confusion around JavaScript 1.6, 1.7, JScript 5 etc). Perhaps even go further and asking all vendors empasize the commonality - Javascript can become ES4Web, ActionScript ES4Flash, Rhino ES4Java etc. My names suck but you get the point.
- SwellJoe 19y ago"With ES4 (due out later this year I think) the language should really come into its own." In general, I kinda feel like ES4 is a step in the wrong direction. It takes a very concise, but powerful, language, and makes it far more complex without really adding any additional functionality. But I agree with you about where and why JavaScript is weak. The browser is a pretty horrible environment from a language power standpoint (it's a sandbox that historically had zero access to the world except through the DOM, which is pretty awful). If JavaScript was commonly used on the desktop in standalone form, like Perl/Python/Ruby/Lua, it would hold up just fine to comparison. Prototypal inheritance is cool. It's got closures. Syntax is mostly very simple and clean (and the only real terrors are the Java-isms that a few idiots rudely shoved into the language). It has first class functions. I can't think of anything that I really feel is lacking in the language--it's occasionally more verbose than I'd like, due mainly to the DOM and the way the DOM is used, but the good libraries out there (jQuery, ExtJS, Dojo, etc.) are pretty much all the evidence I need that the language is really extensible and really powerful, and they make almost all of the uncomfortable verbosity disappear.