jaikoo, while I do agree there, I think the problem lies in the fact that the skills in many programmers lie mainly in a single language or two, so they use the tool they feel more comfortable with, and not the tool most suited to the job. Likewise, languages like Java are are a common denominator between most programmers, especially newers ones who have gone through university.

Certainly, I think Ruby has the potential to be a large range of projects. However, as someone said, there are things that will never be done in Ruby, such as compression, grahpics related stuff. However Ruby has the one advantage that it integrates with C (and I guess C++, never tried myself, it's something on the backburner I wanna try one day) very easily, and therefore these parts of a program can be coded in C or C++. Likewise this fits the whole idea that a problem should be solved in a language that fits the problem domain. Business apps are suited to Ruby due to it's dymanic nature that allows you do develop quickly and deal with changes in specification. C/C++ is a lagnuage suited for machine specific tasks.

Certainly I'm keen to see what is in store for Ruby 2.x, however I think it will be a while before a useable implementation of the language arrives, and it will be interesting to see what changes it will bring.