I have switched some projects over to Rails the last few months, including one that started out as pure Ruby with no web component. I found that managing parameters by using a web page to store them in the database was much more convenient than the original configuration files I was using.
But some things can't be switched. The mediawiki plugins I work on, for example, have to be in PHP, which is a fine language, just not as much FUN as Rails. I still write shell and Perl scripts at times because I still do some system administration. Ruby is fine for sysadmin but Perl has been around longer and there are more admins who know it. Often, there are already existing scripts in Perl, which makes it seem more courteous to my colleagues to continue working with the tools with which they are already comfortable.
One important point for me is that, no matter how useful or powerful a language is, there are often things to learn from other languages. So I make myself try others out once in a while. That's how I came to Ruby in the first place, before Rails even existed. Lately I've been looking at Erlang, just to see what it can do. The similarities and differences between Erlang and Ruby are quite interesting.
For new web development I use Rails now, unless the boss demands something else. Fortunately, my current boss is quite happy with Rails (that's a large part of why he's my current boss, and my old boss is my OLD boss!)
Like many others have pointed out, I think you need to pick the right tool for the right job. I'm always happy and excited when the right tool is Rails, but sometimes it isn't. I'm working on a current project that connects a java desktop xmpp client, a ruby xmpp bot, an existing j2ee project and a rails web application to get the job done. Ruby really is the glue language and I'm finding more and more that I use a mix of languages when architecting solutions to complicated problems.
I remember in school when a professor said we should know multiple languages and I didn't get it. I mean, Java rules the world right? Now I understand. Learning Ruby and it's idioms has altered how I view and use other languages. As a whole, I think the ability to become fluent in many languages as a plus.
I deal daily with a 350+ KLOC codebase with Java, Perl, Shell Scripts and Ruby all mixed in. Ruby now amounts to about 20% of that, and keeps growing, though the majority of the work is really Perl.
Even though I love Ruby, I am also a strongly believer that one-size-fits-all does not really work for software development, not only from a technical point of view (because even if multiple languages enbody multiple specialties, the cost of dealing with multiple languages in a daily basis must be throughly measured before switching platforms), but mostly because of the community values. For instance, we are introducing SOA in our next-generation applications and trying to find information on best practices, complete applications or even sample implementations for Ruby/Rails is really hard -- most of what is our there is Java-oriented, unfortunately. Also, before someone suggests JRuby, we are quite possibly going down that route in order to mix best-of-breed Java frameworks and Rails code.
I agree completely with Laurence in the idea of boxing yourself into Rails. I think that any developer worth hiring should have his hands in a variety of areas. Sure you can specialize in one over another, but keeping your skills fresh in other areas will only enhance the quality of your development (no matter what lang your using).
Just to add to the optional other languages, for some out there, this really might be the newest and greatest option! www.coboloncogs.org/
Well, we do use lots of other languages too (C#, Java, C++, sometimes even Haskell, among others..) but what is interesting that we did use Rails once for a non-web project. It was chosen because of Ruby itself (rapid development) and very nice ORM mappings making all database stuff easy (ActiveRecord).
Yes, Ruby (more precisely) is not suitable for all tasks, and language should be chosen according to the task. But it's very general-purpose, and if I have understood correctly, C# is asymptotically approaching the state of static-typed Rubiness :)
As a student, developer and a "hacker" - I have to work with many languages and frameworks. Java, PHP, C++, TCL, Perl ... and Offcourse Ruby. Good to see there are certain php frameworks that now copy rails which makes life some what easier for me when I jump across languages. When doing my Java projects at university I always stick with MCV design pattern to solve all my problems. But sadly some languages/frameworks still have to catchup with rails awsome framework structure.
So.. untill then! rails it is.
nice, didn't even realize there were so many. I do agree with the statement that sticking to one language only is not a very good thing. I guess doing two different languages/frameworks, like ASP.Net and PHP might work out really well. Cashwise, too. What's most annoying in ASP.Net is that it's not open source - though the source is downloadable now, but I found a fancy framework like an hour ago, called spring.net. heard of it?