Michael Yuan, in "Is Ruby Replacing Java? -- Not so fast!," says that Ruby may not replace Java despite its capabilities, because new languages expand to fill available niches, and Ruby's currently being used in the same environments other languages currently occupy.

Adam Connor, in "Programming Language Inertia?," offers a dissenting opinion, pointing out C++'s example:
I’m not sure he is entirely correct, though. What expansion did C++ take advantage of? I think it was mostly used in areas already using C, primarily because it was thought to be better at controlling the complexity of large programs.