A few weeks ago, Alex Hudici asked
I’ve been looking into attending the Ruby meetups, however I am completely new to Ruby… [is there] a place for me and my lack of expertise in any of the projects you mentioned in the group discussion/survey?
The short answer is: Absolutely! We definitely want to encourage new Ruby developers to come to the meetups and participate in the group projects.
"Okay," you say, "but how can I contribute if I don’t know any Ruby?"
Well, I’m glad you asked! :)
It seems like there are a number of group members who want to learn Ruby, but may not be sure where to start.
So, let’s try and get you started. :)
First things first though. If there’s one thing a completely new Ruby on Rails developer should know before starting on their journey, it’s this:
The key to being a good Ruby on Rails Developer is learning to be a good _Ruby_ Developer.
Ruby is at the core of everything you’ll do as a Ruby on Rails Developer. Ruby is the language, and Rails is the tool that you use to speed up your development.
Having a strong foundation in Ruby is super important; so study to understand Ruby first, then move on to Rails. And as you continue to improve your Rails knowledge, don’t neglect to improve your Ruby skills as well.
N.B. Well, this is just my humble opinion on this. Do you have another viewpoint? Let us know in the comments.
Now that we have that out of the way, let’s move on to the links. Pretty much, this is the same advice that Alex H. got:
Installing Ruby on Rails
If you don’t have Ruby installed just yet, follow the guide at http://railsapps.github.com/installing-rails.html. It’ll walk you through installation on Mac OS, Linux and Windows.
You can also try the instructions in Michael Hartl’s Rails Tutorial. He’ll walk you through installing Ruby on Rails for Mac OSX, Linux and Windows.
Where to Start?
As for how to get started on Ruby on Rails, I’d suggest checking out the resources in Edward Ocampo-gooding’s Learning Basic Programming post.
If you prefer hands on learning, check out CodeSchool and RubyMonk. Both of those are excellent, and allow you to learn Ruby through tutorials right in your browser (no need to have Ruby installed :).
Just in case you came to this post late and you need to learn Ruby quickly for, say, a Ruby meetup of some sort ;), here’s some advice on how to get a quick handle on Ruby.
- Go through tryruby.org. This will teach you some of Ruby’s basics.
- Next, read through Ruby in Twenty Minutes. Follow along with the examples. This will get you writing some methods and classes, which tryruby.org seems to gloss over.
Side-Note: If you don’t have Ruby installed yet, you can code up the examples online using Repl.it, which gives you an interactive Ruby console in your browser.
- If you’d like to review and solidify what you just learned, check out JumpstartLab’s “Ruby in 100 Minutes" tutorial.
- If you have time to go further, move on to Learn Ruby The Hard Way.
- You may also want to check out The Bastard’s Book of Ruby.
Getting on Rails
Once you’re comfortable with Ruby, you should move on to learning Rails.
Rails Guides is the standard place to go to learn about Rails concepts, and it proves useful for beginner and advanced Rails Developers alike. The Getting Started With Rails guide is a good place to start on that site, and you can dive deeper into other concepts by checking out the main page.
(Note that neither of those videos use the latest version of Rails [v3.2.2, as of this writing], as far as I know; so you may have a bit of catching up to do. Still, they’re good resources, and should help give you a good grasp of some of the core Rails concepts.)
For a more structure approach, you can read Michael Hartl (free) book, Rails Tutorial: Learn Rails by Example.
In Michael Hartl’s book, he walks you through creating an app from scratch; but once you feel comfortable enough in Rails, you really should try and create your own project. Writing your own app is one of the best ways to learn Ruby on Rails.
Well, that should get you started. Feel free to post any questions you have in the Ottawa Ruby Google Group and we’ll try and help.