views:

144

answers:

5

I have a decent amount of web development and programming experience with C, C++ and several markup languages. In order to expand my knowledge I've decided to learn Ruby and I'm wondering what you guys recommend as being the best way to teach it to yourself. I took a quick browse through the books available at Amazon but nothing immediately jumped out at me.

Thanks a lot in advance, I really appreciate it.

+1  A: 

First read 'read ruby' this book is on http://ruby.runpaint.org/

description Very early draft of a book about version 1.9 of the Ruby programming language, released under a Creative Commons license

and http://phrogz.net/ProgrammingRuby/frameset.html programming ruby

germanlinux
Runruby - awful book with awful fonts and awful way of giving material. Looks like Python's way. It's a bad idea to introduce such language as Ruby in a way, that while you read it, you have a feeling, like you are reading RFC.
Nakilon
Oops, I mean ruby.runpaint.org
Nakilon
A: 

Not exactly Ruby, but since you have web development experience, you could as a start, learn Ruby via Rails. That way, you will get to see Ruby in context of web-development and maybe will help you learn faster. Then, look for a book on Ruby itself (I'm looking for one too, so thanks for your question :)

I learned a lot from

  1. Agile Web Development with Rails (2nd edition)

  2. Beginning Rails: From Novice to Professional

I found book #1 very helpful when first reading about Rails. But wanting to get more advanced, it doesn't take you far.

Book #2 is really good too. I suppose the combination of the two taught me a lot of details that the other book didn't cover.

For Ruby, one very handy reference book is Ruby in a Nutshell. I have this edition but a newer one for 1.9 should be there too. Reading just that book I picked up quite a few clues on how Ruby works.

Zabba
A: 

First find some basic Ruby tutorials/examples on internet and try to implement them. If you have any problem during implementation of these examples then Stackoverflow is always here to help you.

Here are some useful links:

NAVEED
A: 

Use this as your primary book: Design Patterns in Ruby and this as your reference: The Ruby Programming Language.

You will also definitely want to read thoroughly the latter book after you've finished design patterns. Once you absorbed those two this is a nice follow-up: Ruby Best Practices.

As to why the recommendation of design patterns as your primary text see here: Design Patterns

ennuikiller
+2  A: 

I've introduced a few guys to Ruby in the last couple of weeks, here are some of the things I have recommended that they've liked a lot:

  • Learn to Program
    • More for the inexperienced programmer, though. So in this case it's not a fit.
  • Try Ruby
    • Try Ruby in your browser! General introduction.
  • Ruby Koans
    • Make tests pass. Great way to learn the Ruby syntax.
  • Ruby Warrior
    • Another fun way like Ruby Koans to learn Ruby.

I also recommended always having The Ruby Programming Language and/or Read Ruby 1.9 at their side as reference.

Once you got the basic syntax covered, dive into some Web fun with something simple like Sinatra. After all, the best way to learn a language is to start using it.

Sirupsen
Thanks a lot. I received a lot of really great answers in this thread but ultimately chose yours because of the clean, friendly, orderly suggestions you gave me (the try it in your browser link was particularly helpful as I didn't know anything about Ruby before it and now I really feel like I got my feet wet). The references you gave me are also the best I've seen yet; I've just ordered the book you recommended. Again, I appreciate your answer a lot. Thanks for all the help :)
Rob S.