Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Just wondering if there are any reasons why a Java developer should learn Ruby on Rails knowing that there are technologies such as Grails or (especially) Spring Roo that can be more familiar?


migration rejected from May 31 '15 at 2:21

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as off-topic by gnat, durron597, MichaelT, amon, GlenH7 May 31 '15 at 2:21

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – gnat, durron597, Community, amon
If this question can be reworded to fit the rules in the help center, please edit the question.

+1 for asking the same question that I have. Having worked in various web technologies in Java, I started learning Rails just for the heck of it. I don't see what gain does it have over, lets say, Wicket in Scala. – Nishant Jan 9 '11 at 10:44
BTW, this is well answered here… :) – Nishant Jan 9 '11 at 10:51
Also consider learning JRuby on Rails since that is immediately usable with your current knowledge. – user1249 Jan 9 '11 at 11:03

I'd say that if you have any clout as a Java developer you should learn RoR if you want or need to.

The end goal of a developer isn't to learn a particular technology, but rather to get themselves to a state where they understand what it means to solve problems with software using any given technology that's suited to the job. If you're a skilled developer, adapting to new technology should be trivial.

So if you're somebody that just considers yourself a java developer your skill-set and conceptual understanding of the field might be limiting your career. If this is the case, you might consider understanding how different technologies can be applied to different problem domains, what the advantages of using one technology over another are, how languages and technologies interrelate, and how someone in a developer position can adapt to new technologies.

At that point it comes down to the question of: which technology do you want to use, and for what reasons? The bits and bytes of the technology itself shouldn't matter.


Not the answer you're looking for? Browse other questions tagged or ask your own question.