I've coded in Ruby. I've also coded in C, C++, C#, VB.Net, VB 1 through 6, JS, Java Smalltalk, Pascal, MASM, and more. Many on production systems or consumer software that was distributed to millions of people. Each language has its strengths and weaknesses.
There are many situations where Ruby is a great choice. Unfortunately it also gets used in situations where maybe it wasn't the best choice.
No language is the be-all end-all. You're always going to want to choose the 'least bad' option for any project and there are many factors to weigh and not all of them are technical. Personally I will probably never choose to start a new project in, or build a team around, Ruby again.
I never said that expressiveness and flexibility _alone_ are the keys of Ruby adoption in real world use cases.
Doing so you made my comment sound as if I were totally ignoring a simple thing such as the fact that the primary characteristic of a programming language(or any other tool) that wants to solving a real world problem is its ability to solve a real world problem... That's a bit pathetic and arrogant from you.. So I can see some bias against Ruby in the first place.
So having explained that, let's say that Ruby can solve many real world problems and _on top of that_ adds expressiveness and flexibility which is something that so far no other language has achieved at that level, putting up a tool that _in its wholeness_ can serve to a lot of purposes in a nice way.
Of course, due to its performance, at the moment some scopes might be left out, but find me another language in the same performance window(so with the same 'possible purposes') that can retain the same expressiveness and flexibily! (flexibiliy also intended as flexibility of its expressiveness itself!) Given the same performance then, what is the 'least bad' option if not the one which also gives you this added value? Which also leads to more maintenability, and in the end (and above all), to more FUN.... ?
And just to make this clear, when Rubysts say things like "FUN", "LOVE", they don't mean it like "skateboarding" or loving something a-la fan'obsessed'boy. We mean it like intellectually engaging, without many of the off-puts that a constrained environment like a typical programming language usually involves PLUS the big (so big) "Hey!" factor that comes in when you look back at your code and you are just instantly amazed at how good you distilled and syntesized a concept in 3 lines of code that seem to talk back to you...
Wish all the "haters" had tried Ruby at least once for the simple sake of discovering something new, and I am not talking about trying new programming paradigms (Ruby didn't invent them as so many bloggers felt the need to make clear..) it's about how mentally refreshingly it feels to collaborate with "The Machine" to impress your ideas.. and while you read back your code sometimes it can give you that enthusiasm and thrills that might even make you look a bit arrogant, like the good old days when you discovered a musical instrument and you saw that after a while you were pulling good stuff out of it NATURALLY.
I've also done C, and felt in love with pointers :) but once you know them you want to go further and inject some more creativity in your project, and then pointers come back angry at you for you letting them alone, bugging your code here and there, and reminding you have to think C-ish and eating in all the creativiy you had in mind when that night you sat down at the pc full of crazy great new big ideas for your project...
Ruby doesn't do that, it doesn't want me to think in a pre-packed way, it doesn't eat my creativy.
It collaborates with it, and it's not only fun when you code it, but also when you look back at it.. it still shines as in that moment when you had that particular coding "englightenment".
If you think that creativity is all, try Ruby. Performance is just a matter of time and will come :)
And that's all :) Oh.. and smile :) Arrogantly sometimes! :)