Gems Among Ruby Books
Written by Kay Ewbank   
Thursday, 09 November 2017
Article Index
Gems Among Ruby Books
Working with Ruby
Ruby on Rails

Ruby, and its best known framework Rails, have a great selection of books for all levels of developer from beginner to expert. Here we pick I Programmer's top recommendations.

I Programmer's book reviewers read hundreds of programming titles per year, and monitor the majority of programming books published so we can cover the important ones in depth.

For Programmers Bookshelf we select just the books that were given a high rating, i.e. a 4 out of a possible 5 or above. In the case of Ruby this meant including over half of the titles. As Mike James commented in a review:

Ruby, and its best known framework Rails, seems to attract the sort of book that other languages and frameworks would be pleased to have.

rorsq

This article picks out key points from each of these reviews and if you want to read more of the original review click in the link in each title. The thumbnails of the book jacket in the side panel provide links to the Amazon website.

If you just want to view the book's product details (without making a purchase) click in the top portion of the thumbnail to open the book's product details page. If you do decide to buy a book via Amazon, accessing it from a link on I Programmer means that we are credited with a few cents.

 

The Ruby Language

If you want to get deep insights into Ruby then the book co-authored by Yukihiro Matsumoto, the creator of  Ruby, comes highly recommended.

The Ruby Programming Language

Author: David Flanagan & Yukihiro Matsumoto
Publisher: O'Reilly, 2009
Pages: 446
ISBN: 978-0596516178

 

 

 

Mike James awarded the book a rating of 4.5 on the grounds that, despite being the de facto standard text on Ruby, it isn’t quite perfect, saying:

Its most important shortcomings is that it tackles topics in an order that reveals the structure of Ruby rather than provides a good and easy introductory pathway into the language. This means it isn't a book for the beginner. It also doesn't make a good technical reference because it simply isn’t exhaustive and it isn't a good cookbook because that's not what it sets out to do.

However, despite these reservations, his conclusion was:

It's well written, full of interest and rewarding.

Programming Ruby: The Pragmatic Programmer's Guide, 2nd Ed

Author: Dave Thomas, Chad Fowler & Andy Hunt
Publisher: Pragmatic Bookshelf, 2009
Pages: 829
ISBN: 978-0974514055

Although Mike James gave the same rating of 4.5 to this title which has earned the nickname of "the Pickaxe book" he writes:

This is my preferred book on Ruby. It complements what you can find on the web by being a logical introduction to a range of topics. It starts off with an overview of the language which should be understandable by anyone who can already program. If you have no idea about programming you won't be able to follow the examples or the ideas. Also don't expect the example used to be either realistic or fit together to make a whole. The examples are designed to illuminate the particular point being explained and not as a real world anything. In the main they do a good job but occasionally there are problems with the explanations or typography that leave you wondering exactly what the meaning is.

 

pickaxebook 

After explaining that the book provides "a linear logical exposition of the ideas that make Ruby an interesting language" the review concludes:

If you are serious about Ruby then this is a book you should buy, but you really need it and some additional reading. Don’t buy it if you are a complete beginner - you need to have a good grasp of objects and another language to appreciate this book.

Our review is of the second edition but there's a later version that refers to Ruby 1.9 and 2.0 in the title.

Effective Ruby

Author: Peter J. Jones
Publisher: Addison Wesley, 2014
Pages: 240
ISBN:  978-0133846973

A book that comes very highly recommended with a straight 5 rating is Effective Ruby. Alex Armstrong nominated this as one of the most enjoyable books on Ruby.  The book is subtitled "48 Specific Ways to Write Better Ruby", and Alex Armstrong says that the use of "effective" in the title seems to mean explaining some of the darker corners of Ruby. This might not sound appealing, but he points out that

there is a huge fascination in delving into the darker corners of a language. Why? The answer is obvious. It is a way of finding out how much you know and expanding your knowledge at the same time. Put another way - it can be both fun and instructive. 

 

The conclusion is that  the book is full of interesting discussion of Ruby's sometimes strange ways of doing things and about facilities that you might have overlooked.

Practical Object-Oriented Design in Ruby: An Agile Primer

Author: Sandi Metz
Publisher: Addison-Wesley, 2012
Pages: 272
ISBN: 978-0321721330

In awarding this title a 5-star rating, Mike James says that although this book is superficially about Ruby you can read it and learn a lot about object-oriented design in other languages, adding:

It doesn't just go through the motions of object-oriented design that is suitable for strongly typed class based language and show how Ruby can be made to conform to the way "better" languages do the job. In other words it presents a theory of object-oriented design that is suited to dynamic languages.

 

Mike's conclusion is that overall this is an excellent book. He describes its style as down to earth but still covering some of the academic ideas introduced on the way, with the result being very readable. He says:

If you are interested in building anything but the smallest system using Ruby then buy and read it cover to cover. If you aren't using Ruby, then still buy a copy and read it - the Ruby code is no barrier to understanding its general points.

<ASIN:0596516177> 

<ASIN:B0026OR3JO>

<ASIN:1937785491>

<ASIN:0133846970>

<ASIN:B00NEOERH6>

<ASIN:0321721330>

<ASIN:B0096BYG7C>

<ASIN:0321638360> 

<ASIN:B002WIG3VI>

<ASIN:059651980X>

<ASIN:B0026OR2N6>

<ASIN:1941222129>

<ASIN:B00N9I0RMQ>

 

 



Last Updated ( Thursday, 09 November 2017 )