I'm interested in hearing opinions on
why Ruby would be a good language of
choice to learn for a webdeveloper or
why other languages are a better
option.
Ruby is not a web development oriented language but it is a full programming language.
This is an important difference to keep in mind because, this details can lead to major confusion.
Under this point of view, it's hard to compare Ruby with other web-centric languages such as PHP. If you want to learn a web programming language, PHP is probably the best choice available right now.
If you want to lear a full programming language that can be easily ported on the web, then Ruby has some interesting features. Last but not least, the Rails framework is well known to be the most important MVC web framework.
Learning Ruby to use it withing the web boundaries it's (IMHO) a waste of time.
Ruby such as Python or Java, is an excellent choice when you need the power of a full programming language in conjunction with an easy to use web portability.
I don't want to tell you Ruby is better than X or Y. I don't think this is the best approach. Instead, you should ask yourself: is Ruby what I need?
Here's some interesting resources that can help you to find the answer:
Martin Fowler's article is probably the resource that most answer your question.
Here's a remarkable paragraph:
Was Ruby the Right Choice?
When looking back on our 41 projects,
perhaps the most important question to
ask is whether the Ruby platform was
the correct choice. One way to
approach that question is to ask
technical leads on the project
whether, in hindsight, they think the
choice was correct.
As Figure 4 indicates, the vote was a
very positive 36 to 5 support of the
choice. As a group our technical leads
are usually not shy of indicating if
they are unhappy with a technological
choice. So I see this as a firm
statement of the viability of the Ruby
platform as a reasonable choice.
I dug a little more into the five
regretful projects. The first thing
that stood out was that in four of the
five cases, the leads felt that using
Ruby wasn't a worse choice than the
alternatives. Ruby's relative
unusualness means that we feel that
using Ruby has to come with a benefit
over alternatives, if Ruby is the same
as a more widely used option, then it
isn't worth introducing the unusual
technology. Four of the five also
reported problems due to integration
with other technologies that Ruby
isn't as well suited for. .NET tools
tend to integrate better with .NET
technologies, for example. Another
theme that two of the projects
reported was social issues - that
people in the client organization were
opposed to Ruby or other dynamic
languages. The one worse-off project
showed these social problems - an IT
organization that resisted Ruby tooth
and nail (the business sponsor in this
case was a Ruby fan).
Indeed when I asked further about red
flags for using Ruby in software
project, the only clear answer was
around social issues. Ruby was
generally accepted or encouraged for
our software development work, but the
biggest sign to avoid it was a social
resistance from the client.
Talking about Rails, there's an interesting article called Why Ruby on Rails won't become mainstream, written in 2006. Two years later the same author wrote a follow-up called Has Ruby on Rails become mainstream?
Both the articles provide some interesting details about the evolution of Ruby on Rails, analyzed in two different time-period under the same point of view.