Google Releases Open Source JavaScript Tools 158
Dan Jones writes "Google has open sourced several of its key JavaScript application development tools, hoping that they will prove useful for external programmers to build faster Web applications. According to Google, by enabling and allowing developers to use the same tools that Google uses, they can not only build rich applications but also make the Web really fast. The Closure JavaScript compiler and library are used as the standard Javascript library for pretty much any large, public Web application that Google is serving today, including some of its most popular Web applications, including Gmail, Google Docs and Google Maps. Google has also released Closure Templates which are designed to automate the dynamic creation of HTML. The announcement comes a few months after Google released and open sourced the NX server."
Nice... (Score:3, Insightful)
Thanks Google. =)
Re: (Score:2, Interesting)
These results are very impressive. I fed it a 445KB Javascript file for one of my applications and it was able to reduce that to only 9KB of code! Who knew that 90% of that code was just cruft? It even had the added bonus of randomly inserting subtraction operators in the middle of my identifier names and constants.
closable:f-alse
suc-cess:function(){window.location.reload(true)}
I also gave it the URL of a 860KB JS file which it claimed was "unavailable", despite being able to load the 445KB file in the s
Re: (Score:3, Insightful)
Re: (Score:2)
I suppose I could minify that first, minified it's down to about 450KB. But I was trying to determine if this does a better job minifying the code, so I guess the answer to that is no.
But yeah, that's the main admin interface file for my application. Gzipped it's down to only 50KB to download though, so it moves pretty quick.
Re: (Score:2)
The advanced compression...
Not sure how that applies to my example of using the simple compression.
*requires* you to code in a particular style to use it
If it requires a specific coding style it's not really a "Javascript compiler", is it?
read the effing manual
I assume you're referring to this:
http://code.google.com/closure/compiler/docs/api-tutorial3.html [google.com]
So what should I do, every time I define a function or property I need to set a reference to it in the global window object? You know, there's a reason I use namespaces in my code (or at least as close as Javascript can get). Should I go through all 1MB+
Closure/Clojure/closures (Score:5, Insightful)
Good grief. Homophone insanity. We've got Clojure [clojure.org] doing interesting things in the language and concurrency space. Block support in C/Objective-C [thirdcog.eu] reinjecting "closures" into everyone's vocabulary. And now Google jumps in with "Closure" just to make sure that no one has any idea what anyone else is talking about...
Re:Closure/Clojure/closures (Score:5, Funny)
Sounds like a real clojure-fuck.
Re: (Score:2)
They are continuing with the work they started with the "Chrome" browser, making sure nobody find out that Mozilla invented "chrome://" or what it can do with that.
Re: (Score:2)
and later they named the linux version chromium [sourceforge.net]
Re: (Score:2)
I don't see a problem, Mozilla is a web browser, the "chrome" in the Jargon file is an outdated slang term, Chrome is *also* a web browser, it's a context problem.
If you tell people, that Firefox bug allows running code with chrome privileges they'll wonder if they have to uninstall Chrome. Before, searching for "Firefox chrome" gave you documentation, now it gives you browser benchmarks and reviews.
What bugs me is that they are partners with Mozilla, they know Firefox, intimately, and they STILL named the
Closure/Clojure/closures/Clozure (Score:2)
Good grief. Homophone insanity. We've got Clojure [...] "closures" [...] And now Google jumps in with "Closure"
It's worse than that; there's also Clozure Common Lisp [clozure.com].
Re: (Score:3, Funny)
Yeah, because nobody before Mozilla used the word "chrome" to describe user interface elements...
Before you know it, auto manufacturers will be using it to describe shiny yet non-functional external parts of their vehicles that aren't even tied to the powertrain! Those bastards!
Unimpressive (Score:5, Interesting)
Half the demos don't work and these widgets are hideous even by Google standards. I'm gonna stick with ExtJs for the forseeable future.
Re: (Score:1)
Re:Unimpressive (Score:4, Informative)
http://code.google.com/closure/library/ [google.com]
Re: (Score:2)
Re: (Score:2, Interesting)
Looking at the library's source code, I don't find many new things that I can't already find in another library. I'm sure there's interesting components, but this looks more like another case of NIH than anything. If their code really is faster I'd rather have them work on existing libraries and try to speed things up for everyone rather than creating more of the same thing.
Of course, if everyone uses Google's tools and libraries, it makes things easier for them to optimize Chrome, which is probably the who
Re: (Score:3, Insightful)
Of course, if everyone uses Google's tools and libraries, it makes things easier for them to optimize Chrome, which is probably the whole point.
Uhh... no.
I would imagine that Google had been developing these libraries for years prior to even thinking about building a browser. This also explains why they have their own libraries rather than using "existing" libraries... their libraries are "existing" libraries. In fact, I would wager that their libraries were more complete than many of the competing libraries were a few years ago.
I am guessing that if you were to compare Google's libraries to many of the "existing" libraries you wish they would co
Re: (Score:2)
I agree whole heartedly... either A. these libraries are not giving them an advantage any longer due to the vast improvements in some open source libraries and they are hoping that by opening them their libraries benifit from the community like the open ones did. Or B. there is some advantage to having these libraries in use in more places.
I pick option C. the libraries are only a tiny portion of Google's dominance and offer no measurable competitive advantage, however widespread adoption of these librarie
Embracing and extending (Score:4, Insightful)
I suppose that complaining about this sounds like asking to forget civilization and go back to rural communities and simpler old way of life, but sometimes you miss the good old web as it used to be (yes, even the slashdot comment editor from 1997)
Re: (Score:2, Informative)
You can turn on the old comment system (well, the pre-javascript one, I don't remember if it is the same as what there was in 1997).
Re:Embracing and extending (Score:4, Interesting)
look a bit like a push towards Chrome.
Funny, I've also heard this argument the other way around. A lot of people seem to think that Chrome is actually meant simply to push every browser developer to build faster JavaScript support and to catalyze other technologies that will allow Google to develop better web applications. Maybe this release is also a push towards those goals.
Re: (Score:3, Funny)
That makes a lot more sense. Google does not make money from Chrome. It does make money, and plans to make more, from web apps that benefit from fast javascript.
Incidentally, is MS improve Javscript performance? I know Mozilla are.
Re: (Score:1, Insightful)
JavaScript is what is driving the hardware upgrade cycle these days. I can use email/IM/word processors, even minimalist image editors and possibly VoiP on a pentium 90 reasonably well but it won't run the newest browsers or load even a 'minimalist' modern site. I think client-side scripting in browsers should be done away with completely, come up with a protocol-level
Re: (Score:2)
You'll get about the same effect, and won't have to wait for everyone to adopt your plan.
Re: (Score:2)
rural communities are indeed better, more space, less snitching, you get to know people rather than just assuming everyone is a paedophile
Assuming that everyone is a paedophile is not a fundamental part of British culture, ou insensitive clod!
The government plans to regularly interview kids without parents present, put cameras in some people's homes, and to require people to register before you can give a friend's children a lift to school.
Re: (Score:3, Interesting)
If things start to base more and more in javascript, specially complex one, not only the old browsers will die (ok, killing IE6 for good is an obligation for the future of mankind, or at least internet), but also current/competitive browsers not so fast at the javascript arena will get a big hit too. Good enough will stop being enough when most internet need complex javascript and a blazing fast javascript engine to work.
It's not really that bad. I've been developing a pretty massive application based on ExtJS that runs surprisingly fast in IE6. In Chrome or Firefox it runs very fast. I'm talking about 450KB minified Javascript files here, doing things like laying out data in sortable filtering grids, tree structures, drag and drop, etc. I'm surprised at how well IE manages to use it.
Re: (Score:2)
I do the same for some time. However, I would not call ExtJS fast in IE6 on a corporate desktop (remeber, corporates are not running the latest and greatest for typing emails and word documents). Even in Firefox 3.5 and Chrome are JavaScript powered pages slow (compared to the good old HTML forms which loaded *and* rendered in miliseconds).
However, not needing to refresh the UI after every user action will make the user experience faster in more complex web applications.
Cheers,
-S
Re:Embracing and extending (Score:5, Insightful)
It also kills off older hardware that was perfectly fine for rendering server side processing, but will choke with this move back to client side ( which personally, i think is the wrong direction, but that is a different discussion )
Re: (Score:2)
It also kills off older hardware that was perfectly fine for rendering server side processing, but will choke with this move back to client side ( which personally, i think is the wrong direction, but that is a different discussion )
Depends on the client side load. Shifting some load to a zillion clients makes a lot of sense from a serverside point of vieww.
invented by Norville Barnes: (Score:5, Funny)
Try Closure! It's open!
Re: (Score:2)
Freedom is slavery.
jtemplates vs. closure templates? (Score:1)
I'm still going to read through it, was just wondering if anyone else has more experience with closure.
Re: (Score:2, Informative)
You know what'd be great? If there were more tutorials that show off a lot of the functional
Re: (Score:2, Informative)
P.S. WTB edit feature on slashdot.
Re: (Score:2)
edit feature? So we can go back to all our highly modded posts and replace them with ASCII goatse pics?
"The" NX server? I don't think so. (Score:5, Insightful)
"The announcement comes a few months after Google released and open sourced the NX server."
That's a bit confused... it may just be a typo but it's resulted in a misleading statement. Google released *their* NX server as open source. Previously the FreeNX project had independently created an open source NX server, using libraries provided by NoMachine (inventor of the NX protocol) who provide all of the clever compression stuff from their server as open source libraries.
The summary makes it sound like Google were solely responsible for the existence of an open source NX server, whereas actually I'd say they're "standing on the shoulders of giants (NoMachine), next to some other dude who was already up there (FreeNX)"
Re: (Score:2)
And killing off No Machine;'s business model while they are about it!
Do Google actually use NX in a big way? It is easy to imagine what they might do with it.
Apache v2.0 (Score:5, Informative)
It seams silly to mention that it's open source without giving the license. Btw It's not copyleft, allows linking from other licenses and is GPLv3 compatible
Re: (Score:1)
It seams silly to mention that it's open source without giving the license. Btw It's not copyleft, allows linking from other licenses and is GPLv3 compatible
Can you rephrase that in english please? Does that mean we can't use this in commercial products?
I'm curious why Google didn't choose the the dual MIT/GPL license like jquery uses.
Re: (Score:2)
You absolutely can use that in commercial products. You can also create derivative works and not release the source.
Apache 2.0 is considered a "commerce friendly" open source license (whatever that means). You'll see it in commercial products like Android and the Apache web server.
Wikipedia entry [wikipedia.org]
Apache 2.0 License full text [apache.org]
Lego-like (Score:5, Informative)
The Closure Library has a lot of useful-looking classes and functions, like for working with Arrays, Dates, or the URL. They're divided into short files, so that you can use just the parts you want and not have to download one big file.
jQuery has definitely been a great library, especially at finding things in the DOM. And I think its API for handling events is easier (definitely less to type) than this. But it doesn't have all of the things that this has --- short helpers that probably I would end up writing on my own (and already have started to).
I'm also interested in the UI Widgets like an Autocomplete text field. I've been waiting for the jQuery UI team to finish that one widget for months, but for some reason their development is so slow!
Standard Disclaimer about JavaScript:
Like has been said, watch the Google Video "JavaScript: the Good Parts" to elaborate on this. And if you hate JavaScript but are forced to write it and haven't read JavaScript: The Definitive Guide, it's the best book on JavaScript and one of the best O'Reilly books period.
Re: (Score:2)
2a Trying to get your Javascript to work in Facebook's sandboxed version (FBJS) only make the nightmare worse.
Re: (Score:2, Informative)
I'm also interested in the UI Widgets like an Autocomplete text field. I've been waiting for the jQuery UI team to finish that one widget for months, but for some reason their development is so slow!
I've been using the original autocomplete plugin [bassistance.de] for a long time now, it works great. This is the plugin that is used as a basis for the UI autocomplete component. Anything preventing you from using it in the meanwhile?
Re: (Score:2)
They're divided into short files, so that you can use just the parts you want and not have to download one big file.
The last time I used a JavaScript library like this (Ext), I discovered that this actually makes your pages slower. The overhead of each request quickly passes the time it would take to download an extra 100-200 KB. Also remember that the file can be cached, so the client only has to download the file once. Some libraries actually encourage you to source the JavaScript files from their servers instead of your own, so that browsers can cache a single copy of the files and use the cached versions on every sit
Re: (Score:2)
6. Dealing with memory leaks on most browsers (ex: ff) is nearly impossible
On your #2 point, my experience is that coding for: FF3, Safari4, Chrome and IE8, is no longer a compatibility nightmare. Dealing with performances and memory remain a nightmare on my view (except on Chrome which rocks on garbage collecting).
What we really want (Score:1)
What would really be nice is an HTML/XML-like language that has features for building real desktop-like GUI's 95% declaratively in a state-ful way instead of JavaScript IF's, loops, and pathy set/gets.
Re: (Score:2)
What would really be nice is an HTML/XML-like language that has features for building real desktop-like GUI's 95% declaratively in a state-ful way instead of JavaScript IF's, loops, and pathy set/gets.
1: GTK javaascript. or JavaScript .net. language + framework = program.
2: MS has crap like that. And so does Firefox. You just don't pay attention to it.
3: statefulness in JavaScript is simple. Passing references vs. Passing Values.... is not.
Re: (Score:2)
It's called WPF. And you can use IronPython/IronRuby for the code parts (those that cannot be shoved into the declarative model in any way).
wait... (Score:3, Funny)
How does this integrate with GWT (Score:3, Interesting)
Everybody needs Closure (Score:2)
err.. that's it really.
Re:My gawd (Score:5, Insightful)
Re: (Score:1)
Re: (Score:3, Interesting)
It's a sad thing that mono is currently better supported on GNOME than Java. Where are the Java desktop programs?
Anyone unhappy with Flash and Silverlight should really push JavaFX and make his/her desktop Java-ready. Let's kill Silverlight and Flash with Javascript and JavaFX, the open languages.
Re:My gawd (Score:4, Interesting)
Let's kill Silverlight and Flash with Javascript and JavaFX, the open languages.
Sad face here, I wonder just how open Java will remain. Consider: Java was defined by the Sun Java Test Suite, wasn't it? And now Oracle owns Sun. Oracle has long been known to me as a very agressive closed, proprietary company living off their software licenses.
Should the Open Source community still be backing Java, now that the rather benign hand of Sun is no longer controlling it? Is it time to rally around something else now? Some language where you aren't in danger of being sued for infringement if you copy a test suite?
I am worried about Oracle pulling the strings, at some point they may think it in their best interests to act in such a way as to drive the language to more proprietary platforms. It's within their scope to do so, and it may be in their best interests to try. What was once the language choice for clear sailing is now in treacherous waters I think. Write once, run everywhere - for a given value of "everywhere".
Re: (Score:2)
Oracle has various Java-based products, for example the Oracle database installers. Since it is in their best interest that these run everywhere -- Linux-servers, Windows, Solaris, their own Unix -- I highly doubt they will hurt Java deliberately. It is more likely that they aim for interoperability.
Either way, Java is fully open source
=> nothing can control it, it can only have more or less development in some direction
=> nothing *can* kill it, it can only be abandoned.
So I disagree, it is the only
Re: (Score:2)
Re: (Score:2)
Well, you forgot vbscript ;)
Re: (Score:1)
And flash pretty much depends on javascript (Well, last time I checked, actionscript was pretty much an implementation of Ecmascript).
Re: (Score:2)
And flash pretty much depends on javascript (Well, last time I checked, actionscript was pretty much an implementation of Ecmascript).
ActionScript and JavaScript are both variations of ECMAScript, so they are similar languages, but there are some differences, especially since browsers still only support older versions of JavaScript. The most obvious one that I remember is that ActionScript defines classes in the normal Java way, and that variable types are checked at compile time. I've read that newer versions of JavaScript (1.6 or 2.0, maybe?) add support for normal class definitions.
Re: (Score:2)
I know the GP post isn't the easiest to read, but you replied to a post that boiled down to "why use web technologies when you can write native apps" with "it's either javascript, flash or silverlight" and got modded insightful? WTF?
Anyway, what's wrong with C/C++ and a cross-platform GUI lib, like, say... wxWidgets? Or if you want something at a lower level, SDL?
Re: (Score:2)
Or HTML5 [wikipedia.org]
Which basically means "Javascript".
Re: (Score:3, Insightful)
Personally I find your post to be completely trollish, but let's go ahead and assume everything you've said is correct.
So what?
I don't personally find web-based tools better than ones I install on my own system. Let's go ahead and assume that nobody does and nobody ever will. Why is it wrong or in any way bad that web sites want to push as close as they can to that functionality, either as a replacement for it or simply to enhance their own users' experience? If it becomes the problem you're oh-so-af
Re: (Score:3, Insightful)
I used to hate the idea of web apps, then I started to see them as an important tool for helping people transition away from Windows. Unless we all standardise on one OS though, which probably will never happen, then web based or otherwise interpreted apps will continue to be very useful, so I've just kind of accepted it.
I can't wait to use some of this stuff in some of my projects here at work. I first tried to get into dynamic web pages when the whole lack of standards between IE and Netscape was making d
Re: (Score:2)
Re: (Score:2)
Well, I tried my hand at dynamic menus back in 2002 when I was new to HTML and JavaScript, and it just turned out to be a royal messy pain in the ass compared to what I was used to (C++ and Delphi), so I mostly avoided trying anything fancy inside a browser since then and I'm a bit out of the loop.
My eyes have been opened though after seeing these libraries and watching a presentation by Douglas Crockford earlier today, so I'm actually quite looking forward to foraying into JavaScript again, as long as I on
Re: (Score:2)
Re: (Score:2)
No, and no. We spell it with an s where I come from. Little place called the UK. Quit being so racist, you big racist.
Oh and just in case you didn't get it (which I'm guessing you didn't if you think there is a standard way of spelling standardise), that was a joke about being a racist.
OT (Score:2)
Re: (Score:3, Insightful)
Why are people investing so much in a fundamentally flawed scripting language that has almost no use at all outside the browser
Got any other [well supported] options?
Re:My gawd (Score:4, Insightful)
Let me guess: you're a non-web developer? A.K.A a "real" developer.
Well, in the current web world saying "why use Javascript??" is about a smart question as asking "Why use C??" or "Why use Java??" in the desktop world.
It may have 10,000 flaws in it, but that's the de-facto standard ATM.
Furthermore, unlike the desktop realm were you install your dependencies with an installer, in the web you have to wait 5 years for the crap old technologies to drain out after the new better one comes out.
None of us would use Javascript if we had a choice, but we don't. So toolkits like JQuery or this release by Google are life savers.
Re:My gawd (Score:5, Funny)
in the web you have to wait 5 years for the crap old technologies to drain out after the new better one comes out.
Pah! Optimists...
Re:My gawd (Score:5, Insightful)
Why is this modded funny? Apparently someone's forgotten that IE6 was released in August 2001; it's taken just over eight years for its market share to be superseded by another browser, and it's still firmly entrenched in some corporate environments.
--- Mr. DOS
IE6? (Score:2)
I'm hoping for http and html to "drain out". They're a lot more crufty than any browser.
Re: (Score:2)
"Why is this modded funny? Apparently someone's forgotten that IE6 was released in August 2001; it's taken just over eight years for its market share to be superseded by another browser, and it's still firmly entrenched in some corporate environments."
Yeah, well, I even saw a Java development environment that was fully dependent on IE6 and ActiveX. You only need a single PHB that is wowed by the web graphics and all your developers are f*cked for years (I'm wondering which software they use now, although pe
Re: (Score:2)
Re: (Score:2)
PNG support works in Internet Explorer 6, but is limited to BOOLEAN ( indexed ) transparency. IE7 and IE8 support alpha transparency. There is a nasty filter hack for IE6 if needed, but I would never use that.
Re: (Score:2)
Not even with the workarounds? Wow, that sucks.
BTW, if you can use the workarounds but don't want to deal with setting it all up, I've written two [exofire.net] documents [exofire.net] that may be of use.
--- Mr. DOS
Re: (Score:2)
None of us would use JavaScript? Maybe one of us likes it.
Stop confusing the DOM with JavaScript. I think you'd be hard-pressed to find 100 flaws, and less than 10 core language problems (e.g., non-library), with many in both lists being subjective issues.
Re: (Score:2, Insightful)
I'm not confusing anything with anything. I'd like to have real OO syntax and proper error handling. Debugging JS or maintaining a large JS codebase is a nightmare.
Sure it's awesome for small things here and there, but the problem is exactly the fact that it's usage has grown way beyond that.
Re:My gawd (Score:5, Informative)
I'd like to have real OO syntax
What is it about JS's OO syntax that isn't "real"?
Is it because it's prototype-based instead of the class-based paradigm that you're probably used to? There are actually some advantages (and disadvantages) [gatech.edu] to this approach. Just because it may not be what you're used to or comfortable with doesn't make it bad.
Re: (Score:2)
JS has try/catch blocks. JS has OO syntax if you want it (debatable issue anyway). Debugging JS is easy using Firebug or Visual Studio.
I'm not going to win you over by arguing, but some of us do like it, probably for some of the reasons you hate it.
Re: (Score:2)
ATM? (Score:2)
So javascript is synonymous with ass-to-mouth? I take it you mean the receiving end.
Re: (Score:2)
de-facto standard ATM
Some saying about when the only tool you have is a hammer comes to mind here...
Re:My gawd (Score:5, Interesting)
None of us would use Javascript if we had a choice, but we don't. So toolkits like JQuery or this release by Google are life savers.
JavaScript the language is actually very nice - the main problems with 'JavaScript' are browser inconsistencies, the DOM, etc. etc.
But if you take JavaScript itself, then yeah it has some problems - it was rushed - but it has good parts [blogspot.com]: It's a dynamic language, supports closures, first-class functions, convenient object definition syntax (from where we get JSON), etc. Due to its ubiquity, it also has the most secure and fast engines of any dynamic language (except for LuaJIT, but a comparison there is a topic all in itself).
Because of those, JavaScript is being used more and more as a scripting language outside of web browsers, for example in desktop environments, game engines, etc. If you stick to good coding practices in JavaScript, you can write large and robust applications in it.
But, again, to return to the original point, the current state of JavaScript in browsers is very messy. Which is why we need things like jQuery, and maybe this new library from Google as well.
Re: (Score:2)
---
Javascript Programming [feeddistiller.com] Feed @ Feed Distiller [feeddistiller.com]
Re: (Score:3, Insightful)
To extend the analogy someone else used earlier, OO in Javascript is like attempting to tighten a screw with a hammer.
Re:My gawd (Score:5, Informative)
To extend the analogy someone else used earlier, OO in Javascript is like attempting to tighten a screw with a hammer.
I respectfully disagree.
See for example John Resig's approach [ejohn.org]. Basically it adds more familiar class-based inheritance to JavaScript, building upon the existing prototype-based inheritance. I am using it in a large project (see my homepage link), and it works great. Btw, it seems Google has something similar in the Closure Library, as well, but I didn't check if it was as concise as Resig's.
JavaScript is a flexible language (Crockford once called it "Lisp in C's clothing"), which lets you 'extend' it in ways like the one linked to above.
Re: (Score:2)
Re:My gawd (Score:5, Informative)
Why are people investing so much in a fundamentally flawed scripting language that has almost no use at all outside the browser and that Palm Pre thing that is basically a browser in a plastic case?
Actually JavaScript is a rather good language in many ways, though it does have some flaws. Give "JavaScript, the Good Parts [oreilly.com]" a quick read some time.
The main problem in the place where people usually see the language, in the browser, is when interacting with the Document Object Model in browsers - a model that isn't exactly my favourite environment to start with and that is before considering all the hacking you have to do to get things to work well on multiple browsers (even when only considering modern versions).
Re: (Score:1)
But largely I've found jquery to be a lifesaver as another person said above. There are quirks, but they are fairly minor and only if you are doing really complicated
Re: (Score:2)
Yes, it's not Javascript that's the problem, it's the web browser. We should just take the javascript interpreter out of the browsers and use it alone to interpret Javascript programs. Let the program talk directly to the web server, database, whatever. You could even use ports other than 80! ;)
It's also faster than Python (Score:3, Informative)
And Ruby, PHP and Perl. Check it out for yourselves: http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=v8&lang2=python&box=1 [debian.org]
Re: (Score:2)
That particular test isn't really a relevant benchmark when talking about most browser applications though. That test is a number-crunching test and most of the time in apps like gmail, Google's calendar, and so forth the main bottlenecks are rendering speed (especially if you find yourself supporting IE6/7 (8 may be better in that respect, though I've not tested it much yet myself)) and network latency (which you sometimes have to accept as a consequence of a thin-client design, but can often be worked aro
Re:It's also faster than Python (Score:5, Insightful)
It's also faster than Python And Ruby, PHP and Perl.
Languages can't be faster or slower than other languages, since a language is just a syntax specification. Compilers, interpreters, and other runtime environments are what you would compare for speed. In the case of JavaScript, you have several competing implementations (at least 4 or 5 that are well known, plus many others that aren't well known), and speed is probably the only significant selling point in any of them. With the rest of the languages you list, there's really only one commonly used implementation of each, and it's written by the same group that's responsible for the language specification, so there tends to be less focus on speed of the interpreter and more focus on adding new features to the language itself.
Re: (Score:2)
Interpreted languages can most certainly be faster/slower than other interpreted languages due to semantic design alone.
Pick one language that you would call slow and one language that you would call fast. I guarantee that I can write an interpreter for your "fast" language that is slower than the most commonly used interpreter for your "slow" language.
You can build applications using javascript (Score:3, Interesting)
It's not that rare. Many cellphones are going this route nowadays as well as the Mac OS X dashboard widgets and Mac OS X apps [macosx.com]. Then of course, there are the gtk javascript bindings [arstechnica.com].
Javascript is finding itself in more and more places nowadays.
JavaScript isn't more flawed than other languages. (Score:2, Informative)
If you think Javascript isn't very powerful and cannot see its advantages, particularly with dynamic types, then you obviously haven't used it.