Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I've got substantial J2EE experience, have worked with Grails, and am comfortable with several languages (Perl, PHP, Smalltalk). I've decided to try a new project using Ruby on Rails. For those who've decided to migrate to a new technology stack, how do you make the transition? Do you learn the details of Ruby first (I've done a few tutorials, and feel like I've got a decent enough grasp of the language to start doing some basic work) or do you do a full Ruby on Rails tutorial, and expand your knowledge from there. I'm leaning towards the latter approach because I feel like I can delve into details of the language as I encounter them. For those who work in Ruby on Rails, how did you learn, and which resources do you recommend?

share|improve this question

closed as off-topic by durron597, Snowman, GlenH7, MichaelT, Dan Pichelman May 19 at 19:02

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." – durron597, Snowman, GlenH7, MichaelT, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

5 Answers 5

up vote 2 down vote accepted

The best way to learn a new language is simply to use it (reading tutorials won't make it 'click') and one way that I've been assured is fantastic is through writing tests. I'm yet to try this myself (and will do so this weekend) but give Ruby Koans a go and let me know how you get on :)

share|improve this answer
I really like the daily practice this offers. And rather than just learning new syntax, helps keep you sharp by asking you to think. – Fil Nov 16 '10 at 14:00

Read the tutorial, then go and write a 1,000 lines of code in the language. That will not make you a master but after 1k lines you should have a pretty good feel for it.

And don't be afraid to make stupid mistakes, as long as you learn from them!

share|improve this answer

A crucial part of any project is the purpose it is aimed to satisfy. If you are just reading about a language or copying some program, the purpose isn't there, and it's just like painting by numbers.

Choose a project of your own initiative (though you can get ideas from others), not a big one, and tackle that. That way all parts of your brain will be engaged, you'll have fun, and everything you learn will be grounded in a purpose.

share|improve this answer

There's that saying that if you spend 10,000 hours at a task you'll become an expert. So I'd say "get coding!" If you've done the tutorial then write some code to scratch an itch or join an open source ruby on rails project.

If your employer is brave/trusts you - perhaps you can build a small but useful real world project as well.

share|improve this answer

I learned Rails by going through the Agile Web Development with Rails book and immediately applied everything that I learned to a real web project. I ended up with a rather substantial application ( and a deep understanding of the framework.

share|improve this answer

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