
The Ruby Way assumes that the reader is already familiar with the subject matter. Using many code samples it focuses on "how-to use Ruby" for specific applications, either as a stand-alone language, or in conjunction with other languages. Topics covered include: Simple data tasks; Manipulating structured data; External data manipulation; User interfaces; Handling threads; System programming; Network and web programming; Tools and utilities. Note: The appendices offer instruction on migrating from Perl and Python to Ruby, and extending Ruby in C and C++.
- Zed Shaw’s Learn More Python the Hard Way[1]
- Brian Hogan’s Exercises for Programmers (best for beginners or for learning a new language)[2]
- Hal Fulton’s The Ruby Way[3]
- Chris Ferdinandi’s Vanilla JS Academy[4]
- Marc-Andre Cournoyer’s Great Code Club (it’s old, and the community doesn’t exist anymore, but i think he still maintains it)[5]
- A few python books from No Starch Press (notably those authored by Al Sweigart)
I learned the most as a beginner from Zed Shaw’s work, and from reading open source code.
Once you’re done with the initial “learn from tutorials” phase, there’s no better resource than reading open source code.
[1] https://www.amazon.com/Learn-More-Python-Hard-Way/dp/0134123...
[2] https://www.amazon.com/Exercises-Programmers-Challenges-Deve...
[3] https://www.amazon.com/Ruby-Way-Programming-Addison-Wesley-P...
1. Learn to Program by Chris Pine
2. Everyday Scripting with Ruby by Brian Marick
3. Programming Ruby: The Pragmatic Programmer's Guide by David Thomas and Andrew Hunt
An excellent book to build your skills and internalize the common Ruby idioms is The Ruby Way by Hal Fulton.
As others have mentioned, Agile Web Development with Rails is The Book to use for learning Rails.
Of the above, the only book I don't have in one form or another is Chris Pine's (because it is, frankly, well below my skill level). There's an online tutorial by the same name, by the same guy, that can perhaps serve as a substitute -- but the book is much more complete, so if that's suitable to your skill level, I recommend getting the book.
Best o' luck! Ruby is a lot of fun.
Probably the best book for really learning Ruby is The Ruby Way by Hal Fulton. Hal clearly gets Ruby.
The book is thorough (although possibly a little out of date now), introduces a lot of idiomatic Ruby, and has just the right amount of geeky inside jokes.
What is the best book that focuses on PHP as a programming language, rather than on building websites?
This is good for your first steps. Then check out The Ruby Way to dig in deeper:
http://www.amazon.com/Ruby-Way-Second-Addison-Wesley-Profess...
As for free guides, I love pointing people to http://poignantguide.net/ruby/
