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 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.
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
CodeAcademy's step-by-step Ruby course is a good starting point.
3. Try Ruby
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
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.
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
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
In RubyKoans you walk along the path to Ruby enlightenment. A good place to start testing your Ruby code.
8.- CodeKata (CodeWars)
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
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
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.
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
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.
Thanks for reading, and don't hesitate about sending me any comments, suggestions or recommendations you might have.
Follow me on Twitter @zazvick!