Community

The path of the Padawan


Getting started with Ruby/RoR

Many friends have asked me about how to get into the Ruby and Ruby on Rails world, so I have prepared a personal recommendation list to share with them, and I want to share that with you too.

There is a lot of information about the topic available online, but I wanted to put the most useful information together.

Well, let’s get started:

During my discussions with several Ruby programmers, the conclusion reached at the end has been pretty much the same: many people start with the frameworks first (e.g. Ruby on Rails/Sinatra) and then move on to the actual Ruby language. I suggest we do it the other way around, Ruby first, then the frameworks.

1. Rbenv and Ruby


Groom your app’s Ruby environment with rbenv.

Use rbenv to pick a Ruby version for your application and make sure that your development environment matches production. Put rbenv to work with Bundler for painless Ruby upgrades and bulletproof deployments.

Rbenv

My own personal suggestion is to have Rbenv installed in your computer because it will make things easier later on.

2. The Code Academy Ruby path


image alt

CodeAcademy‘s step-by-step Ruby course is a good starting point.

3. Try Ruby


image alt

Codeschool’s TryRuby couse is an amazing site where you can learn a lot. They also offer other very interesting and useful courses about programming languages and design. Try Ruby is a short, simple and beautiful place to begin with.

4. Eloquent Ruby


image alt

This book is a great place to acquire the basic knowledge about the language. You can combine the study of this book with the exercises you will find in the rest of my course recommendations.

5. RubyMonk


image alt

RubyMonk is a free & interactive set of tutorials to help you discover Ruby idioms in your browser!

Similarly to CodeAcademy and TryRuby, you will travel through 7 courses.

“I am having fun learning Ruby at http://rubymonk.com, I like this type of lessons ;-)” Yukihiro Matsumoto, Creator of Ruby

6.- Ruby Warrior


image alt

RubyWarrior is an amazing Ruby game to test your skills by going through levels. As the site describes itself, it is:

“A TRIUMPHANT QUEST OF ADVENTURE, LOVE & DESTINY
ALL WITHIN A FEW LINES OF CODE”

It was inspired by this project: Github Ruby Warrior

7.- Ruby Koans


image alt

In RubyKoans you walk along the path to Ruby enlightenment. A good place to start testing your Ruby code.

8.- CodeKata (CodeWars)


image alt

CodeWars offers a great experience with Code Katas. According to Dave Thomas, co-author of the book The Pragmatic Programmer, a code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition, in a bow to the Japanese concept of kata in the martial arts.

9.- Game of Life


image alt

The Game of Life, used for Coderetreats, is a cellular automaton devised by the British mathematician John Horton Conway in 1970. A great way to prepare for a real-life coding scenario or a Coderetreat event.

10.- Practice makes the master


My best piece of advice is: practice (and then practice some more!). Nothing beats the learning acquired by way of practicing frequently. Practice everything you learn as soon as you learn it.

If you have gotten this far, you should be ready for some RoR learning.

11.- [Watch] Intro to MVC


CodeSchool offers a short MVC screencast. Rails follows the MVC architecture pattern, so you will need to understand this for sure.

12.- [Watch] Introduction to Rails


Tutsplus offers a short video as an intro to Rails

13.- [Watch] Rails Anatomy


CodeSchool has a very understandable screencast on the Rails Anatomy. This resource requires a subscription to CodeSchool, but it is worth the investment.

14.- Rails For Zombies


image alt

Introducing the upgraded way to learn Ruby on Rails in the browser: Rails for Zombies. The fact that it is free and you don’t need to install anything to get it working gives it extra points.

15.- [Read] Agile Web Development with Rails.


image alt

Read Agile Web Development with Rails.

Rails just keeps on changing. Both Rails 3 and 4, as well as Ruby 1.9 and 2.0, bring hundreds of improvements, including new APIs and substantial performance enhancements. The fourth edition of this award-winning classic has been reorganized and refocused so it’s more useful than ever before for developers new to Ruby and Rails. – Dave Thomas

16. Start to craft


What about starting your first Rails projects? Here are some suggestions to start with:

  • A to-do list
  • Contact List
  • Recipe app
  • Chat

17.- Keep practicing


I know I have already made a point about this, but I cannot stress it enough: the best thing you can do is to learn by doing. Start projects for the fun of it, learn to enjoy what you do.

Useful Documentation:

More References:

  1. http://en.wikipedia.org/wiki/Kata_(programming)
  2. http://norvig.com/21-days.html
  3. http://coderetreat.org/gol
  4. http://installrails.com

Thanks for reading, and don’t hesitate about sending me any comments, suggestions or recommendations you might have.

Follow me on Twitter @zazvick!

Community
My experience as a MagmaHacker
Community
The Rubber Duck Effect
Best Practices
8 Tips For Bootstrap