Monday, October 15, 2007

A Ruby and Rails bibliography of sorts

"What book should I get?" seems to be one of the most popular questions on the mailing lists for both Ruby and Rails. I like to think that I stay on top of the Ruby and Rails book market, and so I thought I'd prepare a few bibliographies or curriculums or, if you like, big fat lists of books. I suggest following these in order for the most part, but if you're wild and crazy, feel free to ignore that.


Note: The title links are affiliate links; if you don't like that, then the links provided after the information are non-affiliate links.




Based on skill level


No programming experience



  1. Learn to Program by Chris Pine


    This book walks you through the fundamentals of programming using Ruby. It's a great start to programming if you're ultimate goal is to learn Rails or simply to use Ruby. (link)



  2. Beginning Ruby by Peter Cooper


    A slightly higher level read; it serves as a good basis for learning and as a nice reference. (link)



  3. The Ruby Way by Hal Fulton


    This book is one of the very few books out there that teaches you solid, idiomatic Ruby. Highly recommended once you're comfortable with the basics. (link)



  4. Ruby for Rails by David Black


    David does an excellent job of walking you through Ruby, and his section on dynamic programming is the best I've ever read. It's an excellent read if you're working towards Rails. (link)




Moderate programming experience



  1. Learning Ruby by Michael Fitzgerald (link) or The Humble Little Ruby Book by Jeremy McAnally (me)


    I suggest these two because they're slim volumes; you don't need a lot of coddling if you already know the basics of programming. Most of your questions will not be "How do I do (x)?" but "How do I do (x) in Ruby?"



  2. The Ruby Way by Hal Fulton


    This book is one of the very few books out there that teaches you solid, idiomatic Ruby. Highly recommended once you're comfortable with the basics. (link)



  3. Ruby by Example by Kevin Baird


    A good look at Ruby through examples; it's a nice reference that's a little more practical than the cookbooks for the most part. (link)




Advanced programming experience



  1. The Ruby Way by Hal Fulton


    You don't need any coddling: "Just show me the Ruby way and shut it!" (link)



  2. Ruby Cookbook by Lucas Carlson


    O'Reilly's cookbooks are a great reference once you know the language well enough to apply the recipes. (link)



  3. Ruby in Practice by Jeremy McAnally and Assaf Arkin


    My other book. :) It's a "higher level" cookbook for bigger "businessy" (technical term, I know) topics. Learn about practical topics like databases, reporting, automating communication, and so on. Also has a nice introductory section on some advanced Ruby topics. (link)



  4. Programming Ruby by Dave Thomas, Chad Fowler, and Andy Hunt


    The "tome" of Ruby programming. I find it's teaching methods hard to get through unless you already know programming well, but it's incredibly useful as a reference. (link)






Based on role or task


The System Administrator



  1. Practical Ruby for System Administration by Andre Ben Hamou


    Learn just what you need to know to start writing Ruby scripts. Not a comprehensive introduction, but still useful for those who don't plan on developing any heavy duty applications with Ruby. (link)



  2. Everyday Scripting with Ruby by Brian Marick


    Another "just enough Ruby" book targeted at testers and sysadmins. It's a great little manual (I own a copy myself). (link)



  3. Ruby Cookbook by Lucas Carlson


    Useful for looking up specific topics, and you can pick up a few useful techniques from it, too. (link)



  4. Programming Ruby by Michael Fitzgerald


    It's always nice to have a quick little reference for a language's syntax. (link)




The Java Guy



  1. From Java to Ruby by Bruce Tate


    Primarily aimed at managers, it can still give you either (a) a nice volume to give to your manager or (b) some good information to arm yourself with if you foresee a struggle with Ruby adoption. (link)



  2. Rails for Java Developers by Stuart Holloway and Justin Ghetland


    A great book about Rails targeted specifically at Java developers. (link)



  3. The Ruby Way by Hal Fulton


    Learn the Ruby way of doing things and learn it right the first time. (link)




The PHP Guy



  1. Learning Ruby by Michael Fitzgerald (link) or The Humble Little Ruby Book by Jeremy McAnally (me)


    Again, the smallest Ruby books that are good because PHP guys probably won't be as interested in learning Ruby as they are learning Rails.



  2. Rails for PHP Developers by Derek DeVries and Mike Naberezny


    This book is a long way off (February 2008), but it looks like it should be a great introduction to Rails targeted at migrators from PHP. (link)



  3. Agile Web Development with Rails by Dave Thomas and David Heinemeier Hansson (and contributors)


    The "official" Rails book; it's a good introduction to Rails, especially if you're familiar with Ruby. (link)






To Learn Rails


After learning Ruby



  1. Agile Web Development with Rails by Dave Thomas and David Heinemeier Hansson (and contributors)


    Probably the best book on Rails; at least useful as a reference if you hate the API documentation. (link)



  2. Rails Recipes by Chad Fowler


    The best Rails cookbook that I've found. The O'Reilly one is nice, too, but I prefer Rails Recipes to it. (link)



  3. The Rails Way by Obie Fernandez


    Think The Ruby Way but for Rails. I know Obie to be a great Rails developer (and he works at Thoughtworks!), so I'm sure this will be good when it's released November 20th. (link)




While learning Ruby



  1. Ruby for Rails by David Black


    David does an excellent job of walking you through Ruby and into Rails. (link)



  2. Programming Ruby by Michael Fitzgerald


    Just in case something slips your mind. (link)



  3. Agile Web Development with Rails by Dave Thomas and David Heinemeier Hansson (and contributors)


    The official Rails book; pair this with the API documentation for Edge Rails for maximum effect since a lot has changed. (link)



  4. Rails Recipes by Chad Fowler


    The Pragmatic Programmer's Rails cookbook; very nicely selected recipes in my opinions. (link)



  5. The Rails Way by Obie Fernandez


    Think The Ruby Way but for Rails. (link)






For advanced Rubyists


To hone your Ruby...



  1. The Best of Ruby Quiz by James Edward Gray, II


    If you haven't ever done a Ruby Quiz, then you should. I used to try to keep up with them every week, but I've lost track of it in recent months. This book is a compilation of some of the best Ruby Quiz quizzes. (link)



  2. Ruby in Practice by Jeremy McAnally and Assaf Arkin


    My other book. :) It's a "higher level" cookbook for bigger "businessy" (technical term, I know) topics. Learn about practical topics like databases, reporting, automating communication, and so on. Also has a nice introductory section on some advanced Ruby topics. (link)



  3. I'll take any suggestions for this section you might have...


To hone your Rails...



  1. Ajax on Rails by Scott Raymond


    A great book on writing AJAX applications with Rails; I just got around to reading this recently and thought it was really helpful to workout some of the grey areas. (link)



  2. Rails Cookbook by Rob Orsini


    The O'Reilly Rails cookbook; a really comprehensive volume. (link)



  3. Advanced Rails Recipes by Chad Fowler and Mike Clark


    The recipe list for this book due out on December 15 looks great; I really look forward to seeing if this is as good as the first one. (link)




To be a more well-rounded Ruby developer



  1. The Practice of Programming by Brian Kernighan and Rob Pike


    Brian Kernighan (of K&R/The C Programming Language fame) teams up with Rob Pike to write a really, really good book on good practices for programming. This offers a really wide scope introduction to a lot of topics, and it's something I recommend that you read first if you're not a very well rounded developer. It's based on C/C++ but the concepts are easy enough to translate to Ruby for the most part. (link)



  2. Beautiful Code edited by Andy Oram and Greg Wilson


    A collection of essays from a lot of computer science luminaries (including Matz, the author of Ruby). I'm reading through this currently and it's shaped up to be a great collection of essays on writing...beautiful code. (link)



  3. The Pragmatic Programmer by Dave Thomas and Andy Hunt


    This book was written 8 years ago but everything inside still has value. This is a must have for any self-respecting developer. (link)



  4. Write Great Code: Volume 1 (link) and Volume 2 (link) by Randall Hyde


    I just started these books, but I think they're going to turn out to be excellent overviews of the structure of computers. So many times we get caught up in our abstractions, we forget there's a machine under there, and our code would probably work better if we thought about it once in a while.




To be a more well-rounded Rails developer



  1. RESTful Web Services by Leonard Richardson, Sam Ruby, and David Heinemeier Hansson


    An excellent book on REST, with examples in Ruby and others. I'm about half way through and it's cleared some of the murk away from REST for me. (link)



  2. Prioritizing Web Usability by Jakob Nielsen and Hoa Loranger


    The standard book on web usability. Developers typically like to push concerns such as usability off to designers, but it's also our responsibility to create usability compliant markup. This book is more or less geared towards design, but it will work until the Pragmatic Programmers can get their usability book out the door. (link)






And best of all...


The $0 Ruby and Rails curriculum



  1. _why the lucky stiff's poignant guide to ruby or The Humble Little Ruby Book or The Little Book of Ruby


    Three free Ruby books, from craziest to least crazy. Some people prefer _why's style, others hate it. Take your pick. :)



  2. The Pickaxe (version 1)


    A free version of the Pickaxe. This version is based on Ruby 1.6 (we're at 1.8.6 now), but most of it still holds true.



  3. Ruby Doc


    The Ruby API documentation is a great reference; this is more up to date than the reference in the free Pickaxe.



  4. Build Your Own Ruby on Rails Web Applications


    Sitepoint's Rails book is free for a little while longer, so you'd better grab it while you can!



  5. The Official Rails API or The Edge Rails API provided by Caboose


    The Rails API documentation is more up to date than the Rails book, and the Caboose version of the documentation is generated often to keep up with recent changes in Edge Rails.






And that's it! Let me know of any suggestions you have and I'll consider adding them.

4 comments:

Brad Ediger said...

Jeremy--
You might consider my book, Advanced Rails, coming out towards the end of the year. It is postured towards experienced Rails developers who want to go a step further. Consider it a sequel to AWDwR, or even a slightly more pragmatically-oriented Ruby for Rails (of course, both excellent works themselves).

--Brad

Mr. Neighborly said...

Hi Brad,
Certainly. I saw it but I couldn't find much information on it. I'll probably purchase it/be open to a review copy so I can add it to the list with enough information.

cypher said...

I would add "Code Complete (2nd Edition)" by Steve McConnell to the "To be a more well-rounded Ruby developer" section, and "Practical Ruby Projects" by Topher Cyll to "To hone your Ruby...".

Vasudev Ram said...

Nice list ...

"Enterprise Integration with Ruby" by Maik Schmidt, published by the Pragmatic Bookshelf, is another good one.

I blogged in some detail about it, here.

- Vasudev Ram