JavaScript was slow until Google worked its magic with the V8 engine. I'm wondering why I haven't seen any project out there trying to do the same for Python or Ruby.<p>There are different implementations of the Python and Ruby interpreters that do speed them up a bit from their reference implementations (give or take). But, to my knowledge, there is nothing that really compares to the speed boost V8 gave JavaScript.<p>Is there a technical limitation/reason? Or has it just not been explored yet?
> JavaScript was slow until Google worked its magic with the V8 engine. I'm wondering why I haven't seen any project out there trying to do the same for Python or Ruby.<p>Uh, because neither Python nor Ruby is uniquely entrenched in a niche as important to a big, Google-like company as JavaScript was (and remains) as a client side browser language, creating the incentive for said big company to throw lots of resources behind making it more performant.<p>So, Python and Ruby are stuck with their existing core teams (and some side efforts) working on performance improvements. Those still can pay big dividends (in many areas, Ruby 2.0 is apparently a big jump from 1.9.3), but are unlikely to be as dramatic as V8 over pre-existing JavaScript engines.
There was at least one effort, sponsored by Google, to make big performance improvements in Python:<p><a href="http://en.wikipedia.org/wiki/Unladen_Swallow" rel="nofollow">http://en.wikipedia.org/wiki/Unladen_Swallow</a><p>I'm not sure sure if any of that work ever made it into current CPython or not though. At any rate, they never met the ambitious goals they started out with.<p>On the Ruby side, I believe that the JRuby guys have done a lot of performance work and have created one of the more performant Ruby implementations. But still nothing like V8, which is unfortunate.
I'd say it's because we are stuck with javascript for a certain domain -- viz. code running in a web browser.<p>Python and ruby on the other hand are two choices out of many, each of which have thier strengths and weaknesses. While it would be nice if every language was as fast as possible, as a practical matter where speed is a major issue, programmers simply pick a more perfomant language. in a world of limited resources and diverse choices it makes the most sense for each language to concentrate on its strengths rather than to be the best at everything.
This is an odd question. For Python there are several implementations that provide better speed. Some of them are tools used with C Python, and others are total reimplementations like Jython, IronPython and Pypy.<p>Ruby is a newer language and therefore has not had as many implementations but there are definitely faster implementations that the standard one built by Matz. One of those runs on the JVM.<p>You need to do a little googling and you will easily find out more about these. Or just look in Wikipedia for godness sake. <a href="http://en.wikipedia.org/wiki/Ruby_(programming_language)" rel="nofollow">http://en.wikipedia.org/wiki/Ruby_(programming_language)</a>
><i>Is there a technical limitation/reason? Or has it just not been explored yet?</i><p>Neither.<p>They are just Open Source projects with diverse contributors, internal politics and varying skillsets.<p>That makes it hard to beat a dedicated full time team of world class experts working on just one thing, focused for 3+ years (which is how we got V8).
Optimizing software for speed usually involves changes to the source code that make it more complex, or harder to follow. Making the Python or Ruby interpreters more complex for speed would make them harder to change and maintain, which would not be so good for such open-source projects.