Hi. While Rails articles and blogs invade the web but I think (IMVHO), Rails will be used as a mentor for other frameworks than a widely used framework. I mean, all the cool ideas in Rails will find its way to other (popular) frameworks but it will be hard to Rails to compete with PHP, Java and .Net Why ? I think this is due Ruby language, yes Ruby is cool -you might say- , but how has enough time to learn a new language from the scratch ?
While I am not a huge Ruby/Rails fan, as a developer, I don't see how learning any new langauge is like learning it from scratch. All languages borrow not only concepts but syntax from one another. So it's usually not the stretch you might think it is to grasp it.
Rails doesn't need to "compete" with other technologies. It only needs to find a niche that it fits in, which I believe it has. I just tend to not work within that niche domain. You also are giving invalid comparisons. Java and PHP are languages. Rails is a framework. So saying... Rails to compete with PHP, Java and .Net ...just sounds silly.
I don't really think that "who has the time to learn a new language" is going to stop RoR? At some point someone could have said the same thing about Java, C#, Perl, or whatever. You may not have the time to learn it but someone else will, probably someone who finds that this newer language, even though it's really not newer, is more appealing than an older one like Java.
A number of years ago I happened to read most of The Pragmatic Programmer and seem to recall that the authors suggested learning more than one language. Though I really don't have time to do so I have tried to spend some time on learning both C# and Ruby. One reason to do so, at least in my mind, is that it always gives you a new perspective and maybe better understanding of the languages that you do know. So I think that there will always be some people who do have the time to learn a new language. If it offers them something that others languages don't then the language will probably be successful.
A number of years ago I happened to read most of The Pragmatic Programmer and seem to recall that the authors suggested learning more than one language.
Learn at least one new [programming] language every year. Different languages solve the same problems in different ways. By learning several different approaches, you can help broaden your thinking and avoid getting stuck in a rut. -- Pragmatic Programmer