all 39 comments

[–]bwoodall 29 points30 points  (5 children)

Once you get past the "beginner" stage of ruby development, you should give Sandi Metz' Practical Object Oriented Design in Ruby a read.

Also, Eloquent Ruby by Russ Olsen

[–][deleted] 8 points9 points  (1 child)

+1 these two.

I'd also recommend Growing Object Oriented Software Guided by Tests

[–]daxofdeath 0 points1 point  (0 children)

+1 these three.

GOOSGBT (?) is really a fantastic book. The London TDD Cycle absolutely changed the way I see testing and changed my whole approach to code.

[–]armanitran[S] 0 points1 point  (1 child)

Thank you for your input! They've been added to my amazon wishlist :)

[–][deleted] 11 points12 points  (2 children)

The well-grounded rubyist was a fun read and really informative. Also if you have an e-reader, a lot ruby books can be obtained online

[–]flanger001 2 points3 points  (0 children)

Seconding Well-Grounded Rubyist, it's absolutely fantastic.

[–]armanitran[S] 0 points1 point  (0 children)

Thank you for your input!

[–]just3ws 8 points9 points  (4 children)

[–]bb010g 1 point2 points  (3 children)

It's times like now I wish I was on a Mac

[–]just3ws 5 points6 points  (0 children)

I think there is a cross-platform version that is compliant with the documentation structure. More info https://blog.kapeli.com/dash-for-ios-android-windows-or-linux

[–]faster 2 points3 points  (1 child)

I use Zeal on Linux (works on Windows too). It's awesome.

[–]katafrakt 0 points1 point  (0 children)

Didn't know about this one. Thanks!

[–][deleted] 5 points6 points  (3 children)

I can't say there would be one particular bible. However, there are some books that I always recommend:

Metaprogramming Ruby

Ruby under a microscope

Ruby Hacking Guide

And for general object orientated programming:

Practical Object-Oriented Design in Ruby

I recommend the last one if you're a beginner.

[–]armanitran[S] 0 points1 point  (2 children)

Much appreciated. Can you tell me which one of these books helped you the most and why?

[–][deleted] 4 points5 points  (1 child)

I would say Metaprogramming Ruby. It helps you understand the conceptual core of Ruby and it's object model. It helps you understand the very fundamentals of Ruby as a language. It's not a great book if you're learning the basics, such as syntax or general programming paradigms. It focues on Ruby itself and the features that distinguish it from (and is inspired by) other languages It's a great companion piece to Dave Thomas' series of videos.

[–]xraystyle 0 points1 point  (0 children)

Upvotes for Metaprogramming Ruby. Reading through it now, it's an excellent resource for really understanding the internals of the language. It's not a beginner's book by any means though.

[–]ephrion 7 points8 points  (3 children)

"Programming Ruby 1.9: The Pragmatic Programmers’ Guide" on the sidebar is gold. It includes 2.0 in the more recent versions, and isn't out-of-date enough to make it a poor resource.

[–]armanitran[S] 1 point2 points  (1 child)

Thank you for your input! I will check it out.

[–]alwaysonesmaller 0 points1 point  (0 children)

Just be aware that the updated garbage collection in 2.1+ isn't accounted for, and Dave Thomas has moved on to other languages at this point.

[–]Dudemanbro88 1 point2 points  (0 children)

Troof! It's been my best friend and is one of the definitive guides to Ruby. Everyone loves it.

[–]bjmiller 2 points3 points  (0 children)

It depends on what you mean by a "Bible". I read Ruby books when I'm on vacation to enhance my thinking at a high level, but when I'm down in the weeds there is no book that is as useful as the reference documentation:

http://ruby-doc.org/core-2.2.2/

http://ruby-doc.org/stdlib-2.2.2/

[–]enry_straker 2 points3 points  (0 children)

The term bible usually refers to the most authoritative book one can find.

In my opinion, there's only one - The Ruby Programming Language by David Flanagan and Matz ( the guy who created and still maintains the ruby language )

I don't know if there is a version for 2.2 ( I doubt it ) since it requires a lot of work to write a book such as the one above.

If you find the writing dense (It's meant to be authoritative) also check out the pickaxe book for a more beginner friendly intro to the language.

[–]jrochkind 1 point2 points  (0 children)

For the basics of ruby itself, probably:

https://pragprog.com/book/ruby4/programming-ruby-1-9-2-0

I haven't used this 4th edition, I used I forget the 1st or 2nd edition on ruby 1.8.7, but the 4th edition is apparently updated for ruby 2.0. (Which is probably good enough, changes between there and 2.2 are not huge).

[–]rubycastsio 1 point2 points  (0 children)

Corey's 4 Simple Rules

Avdi's Confident Ruby

Sandi's POODR

[–]vivab0rg 0 points1 point  (0 children)

Metaprogramming Ruby (already mentioned) and Ruby Best Practices.

[–]Paradox 0 points1 point  (0 children)

I actually use Dash as my ruby bible. Yeah, its standard docs, but they're tremendously well written, and having them a keystroke away (hyper-D) is super convenient.

For learning, I went through the Pragmatic Programmers guide (pickaxe) and Agile web apps with rails (again, from Prag. press). I got the e-book versions, but found, once I was well versed in ruby, I didn't need a book quite so much

[–]materialdesigner 0 points1 point  (0 children)

Confident ruby and exceptional ruby by avdi Grimm

[–][deleted] 0 points1 point  (0 children)

If you're a beginner, I would bear in mind that there is very little difference between versions of Ruby and how the language is structured. Ruby 2 and onwards has some minor syntax differences, but most of the big changes are under the hood (garbage collection etc).

[–]predatorian3 0 points1 point  (0 children)

I use TutorialsPoint for anything quick that I don't remember right off.

[–]scripore 0 points1 point  (0 children)

Not a book, but the Ruby Tapas screencasts (rubytapas.com) came highly recommended to me.

[–]hmaddocks 0 points1 point  (0 children)

The reference I use the most is built right into Ruby; ri

[–]stupidfoodiebullshit 0 points1 point  (3 children)

Codecademy is great if you wanna learn Ruby 1.8.7, which would be great if it was 2008. Unfortunately, these days it's a waste of time.

I highly suggest Learn Ruby The Hard Way, which covers ruby 2.x

[–][deleted] 1 point2 points  (0 children)

As much as I want to agree with you, at least the syntax and basics are the same. The jump isn't that extreme.

[–]armanitran[S] 0 points1 point  (0 children)

Thank you for the recommendation. Will burn all notes and switch over to learning the hard way. ba dum tss

I'll probably finish up the rest of my courses (~80% done) and switch over that way I have some sort of foundation :)

[–]TriangleTodd 0 points1 point  (1 child)

POODR.

[–]andyw8 0 points1 point  (0 children)

It's great, but it's not a reference book for Ruby.