I currently work mostly in the web-ops SaaS space and just wanted to throw in my 2 cents here. Ruby, Python and node.js are all in the same performance class. Ruby is perfectly capable of handling a full-scale SaaS app, twitter just goes a bit beyond
full-scale. We (Opscode) recently migrated off running our main code base in Ruby as well. While twitter and opscode both still run a fair amount of ruby in their infrastructures there's one import thing you missed in your reply, they certainly are not moving
to python or node.js because that won't help for real scale. We moved to Erlang and Twitter to Scala, notice those are both functional, concurrent languages using the actor model for concurrency.
I bring this up not to discourage using Ruby, Python or Node.js (well maybe I would discourage node.js a little ;) ), but to bring up that for 95% of the SaaS business out there the performance of the language/framework will always be irrelevant and if
they have less than millions of users performance issues are probably in their code rather than their tech stack.
--
Paul Mooring
Systems Engineer and Customer Advocate
www.opscode.com
I don't see PHP going away for a long time, unless the PHP core developers fly off into left field and make some crazy decisions.
If I was going to learn new languages, I'd learn:
Ruby - because its becoming ubiquitous, but its too slow for full-scale SaaS stuff, just ask Twitter :)
Python, node.js - for performance.
Just my two cents.
Eric