Customer Reviews

36
Ruby Cookbook (Cookbooks (O'Reilly))
Format: PaperbackChange
Price:$44.36+Free shipping with Amazon Prime
Your rating(Clear)Rate this item


There was a problem filtering reviews right now. Please try again later.

57 of 61 people found the following review helpful
on August 28, 2006
I have a confession to make. Over more than twenty years as a programmer I'd never really had my head around object-oriented programming. I started out using C and then tried PHP and Perl and treated both as purely procedural languages (indeed, one Perl guru looked at my code and said "you were a C programmer weren't you"; humbling). Java, JavaScript, C++ and even Objective C had their turn at getting me to convert but none took (though I do code JavaScript under sufferance) until Ruby. A few month ago I started using Rails and became hooked on it and the underlying language. My Rails and Ruby skills have progressed in leaps and bounds. I've already had a good read of "Programming Ruby" and "Agile Web Development with Rails" and enjoyed and learnt from both.

I also have to admit to loving the O'Reilly "Cookbook" series. Several, particularly the "Perl Cookbook", have pride of place on the bookshelf closest to my computer. So the "Ruby Cookbook" by Lucas Carlson and Leonard Richardson was eagerly awaited. The "Cookbook" series are designed to provide you with a plethora of code examples to guide you in writing your own code. I'm definitely a hands-on style of learner and the Cookbook series suits my style - I can start getting my hands dirty with complex problems knowing I have help to code my way of out of the tight spots. This one covers a wide range of tasks from simple, such as walking a directory tree or manipulating text and numbers, through to more complex such as working with AJAX in Ruby on Rails. If you have't previously come across a book in this style then each chapter is broken up into a number of 'recipes' with a problem, a solution and then discussion of the solution.

This sort of book lives and dies by two criteria - the quality of the code and the usefulness of the recipe selection. "Ruby Cookbook" wins on both. The topics covered are wide and leave little, if any, part of the language unexplained. They start with data and structures such as strings and hashes before moving on to code blocks, objects, classes and modules. There is then an intriguing chapter on reflection and metaprogramming that I am still puzzling through before the book moves on to more internet based topics such as XML, HTML, web and internet services and, of course, Rails. The book then proceeds with chapters on the necessary housekeeping of development such as testing, packaging and automating tasks with Rake before finishing with extending Ruby with other languages and system administration tasks. The code is well written; clear and well commented, easily understandable by a virtual newb like me. The discussion is fairly clear, seemingly concise while allowing you to understand the code and how it might be changed for particular purposes.

I'm not going to go into more details as to the contents but instead point you to the <a href="[...]">book's page at O'Reilly</a> which includes a link to the contents, listnig all the recipes in the book, and two example chapters; Chapter 7 on code blocks and iteration and Chapter 15 devoted to Rails. Together they will give you a good feel for the style and contents of the book.

The book is well written and well edited. I've already tried over a dozen of the recipes and haven't found a single code error, so my faith in the other 300 or so has risen considerably. The discussion that accompanies each recipe is a marvelous way of learning just that little bit more about the language. I found them quite good, though the odd one could do with further explanation if the book is to stand on its own - for example the discussion accompanying the recipe to iterate over a hash was not perfectly clear on the difference between Hash#each and Hash#each_pair.

At more than 800 pages this is a large and extensive volume, though the price may make you wince. Usually programming books this large have at least part of their size dedicated to something I refer to as pseudo-padding, some sort of reference or simple language explanation - this one has neither, all of it is devoted to the recipes.

With Ruby use, thanks in no part to the popularity of Rails, growing by leaps and bounds I'm sure this volume will be a well deserved bestseller. I give it four stars and recommend it to all but the most expert Ruby programmers. For beginners who, like me, appreciate hands on learning it is a must.
11 commentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
15 of 16 people found the following review helpful
VINE VOICEon September 1, 2006
Some O'Reilly books are horrible, and some are great--this happens to be one of the better ones. It's full of concise examples of how to use Ruby's standard libraries and most popular extensions that more than make up for their frequently terrible and always unnavigable RubyDoc generated documentation. An excellent next step for those who've read through "Programming Ruby" and are wondering how to put the language's better features to good use without becoming completely dependent on any of the currently popular application frameworks I'd guess about 90% of people are learning Ruby for. It even covers RubyCocoa basics.

I have found a couple typos here and there, but mostly just misplaced spaces and omitted words; nothing dangerous so far.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
10 of 10 people found the following review helpful
This cookbook is aimed at people who know at least a little bit of Ruby, or who know a fair amount about programming in general. This book isn't a Ruby tutorial, but if you're already familiar with a few other programming languages, you should be able to pick up Ruby by going through the first 10 chapters of this book. This book contains recipes suitable for all skill levels. It focuses mainly on generic programming techniques, but it also covers specific application frameworks such as Ruby on Rails and GUI libraries, as well as best practices such as unit testing. I discuss the book further in the context of the table of contents:

The book starts with six chapters covering Ruby's built-in data structures.

Chapter 1, Strings, contains recipes for building, processing, and manipulating strings of text. There are a few recipes specifically applicable to regular expressions (Recipes 1.17, 1.18, and 1.19).

Chapter 2, Numbers, covers the representation of different types of numbers: real numbers, complex numbers, arbitrary-precision decimals, and so on. It also includes Ruby implementations of common mathematical and statistical algorithms, and explains some Ruby quirks you'll run into if you create your own numeric types (Recipes 2.13 and 2.14).

Chapter 3, Date and Time, covers Ruby's two interfaces for dealing with time: the one based on the C time library, which may be familiar to you from other programming languages, and the one implemented in pure Ruby, which is more idiomatic.

Chapter 4, Arrays, introduces the array, Ruby's simplest compound data type.

Chapter 5, Hashes, covers the hash, Ruby's other basic compound data type.

Chapter 6, Files and Directories, covers techniques for reading, writing, and manipulating files. This chapter also covers Ruby's standard libraries for searching and manipulating the filesystem.

The next four are more abstract and are about Ruby idiom and philosophy.

Chapter 7, Code Blocks and Iteration, contains recipes that explore the possibilities of Ruby's code blocks, also known as closures.

Chapter 8, Objects and Classes, contains recipes for writing different types of classes and methods, and a few recipes that demonstrate capabilities of all Ruby objects such as freezing and cloning.

Chapter 9, Modules and Namespaces, covers Ruby's modules. These constructs are used to "mix" new behavior into existing classes and to segregate functionality into different namespaces.

Chapter 10, Reflection and Metaprogramming, covers techniques for programatically exploring and modifying Ruby class definitions.

The next three chapters talk about specific file formats and Ruby.

Chapter 11, XML and HTML, shows how to handle the most popular data interchange formats. The chapter deals mostly with parsing other people's XML documents and web pages (see Recipe 11.9).

Chapter 12, Graphics and Other File Formats, covers data interchange formats other than XML and HTML, with a special focus on generating and manipulating graphics.

Chapter 13, Databases and Persistence, covers the best Ruby interfaces to data storage formats. This chapter demonstrates everything from different ways of serializing data and indexing text, to the Ruby client libraries for popular SQL databases, to full-blown abstraction layers like ActiveRecord that save you from having to write SQL at all.

Currently the most popular use of Ruby is in network applications, mostly through Ruby on Rails. There are three chapters devoted to different types of applications.

Chapter 14, Internet Services, kicks off our networking coverage by illustrating a wide variety of clients and servers written with Ruby libraries.

Chapter 15, Web Development: Ruby on Rails, covers the web application framework that's been driving so much of Ruby's recent popularity.

Chapter 16, Web Services and Distributed Programming, covers two techniques for sharing information between computers during a Ruby program.

Next are three chapters on the auxilliary tasks that surround the main programming work of a project.

Chapter 17, Testing, Debugging, Optimizing, and Documenting, focuses mainly on handling exception conditions and creating unit tests for your code. There are also several recipes on the processes of debugging and optimization.

Chapter 18, Packaging and Distributing Software, mainly deals with Ruby's Gem packaging system and the RubyForge server that hosts many gem files. The chapter also shows you how to create and distribute gems for your own projects.

Chapter 19, Automating Tasks with Rake, covers the most popular Ruby build tool.

The book closes with four chapters on miscellaneous topics.

Chapter 20, Multitasking and Multithreading, shows how to use threads to do more than one thing at once, and how to use Unix subprocesses to run external commands.

Chapter 21, User Interface, discusses the command-line interface, character-based GUIs with Curses and HighLine, GUI toolkits for various platforms, and more obscure kinds of user interfaces (Recipe 21.11).

Chapter 22, Extending Ruby with Other Languages, focuses on hooking up Ruby to other languages, either for performance or to get access to more libraries. There is one recipe about JRuby, the Ruby implementation that runs on the Java Virtual Machine (Recipe 22.5).

Chapter 23, System Administration, is full of self-contained programs for doing administrative tasks, usually using techniques from other chapters. The recipes have a heavy focus on Unix administration, but there are some resources for Windows users (including Recipe 23.2), and some cross-platform scripts.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
10 of 10 people found the following review helpful
on August 11, 2006
Ok. Let's pretend you're a Java programmer, and you want to know what's the story about this Ruby language you've heard so much about. Or maybe, like me, you're a Smug Smalltalk Weenie and you want to check how the young cousin from the East is doing. Either way, you got your hands on a manual or on a tutorial, and now you're reasonably sure you have a good grasp of the language. But you still have to learn the slang, and _that_ is the difficult part.

But don't worry, here comes the Ruby Cookbook to the rescue. The book is a full, 850-pages behemoth full of Ruby tips and tricks, from string manipulation to database management, from reflection to multitasking.

Presenting their tips in the usual O'Reilly cookbook format (problem/solution/discussion), the two authors cover almost all the topics of interest for both the beginner and the expert Ruby programmer.

All in all, the Ruby Cookbook is like a dictionary that you should keep by your side when you're programming in Ruby. The only small con is the high number of typos, especially in the first part: nothing which stops you from understanding what the authors are saying, but finding a typo in almost every page of a chapter gets tiresome after a while.

Anyway, you can't go wrong by buying this book.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on January 26, 2008
As with most O'Reilly cookbooks, Ruby Cookbook has two main avenues of exploration: the core of the language, and an introduction to some of the more important libraries, presented as the solutions to a series of themed tasks and problems the working programmer might face.

Coverage of the likes of XML, databases, networking, web services is all present as you'd expect, but I always enjoy the exploration of the core language the most, especially as it applies to strings, arrays and hashes, where the idioms and 'zen' of programming in a language are normally revealed. Ruby Cookbook excels in this area, but it also provides a very solid grounding in Ruby's object system, namespaces/modules and blocks. The basics of Ruby's metaprogramming and reflective abilities are also well enumerated, although the recipe-like structure of the book doesn't quite communicate the 'magic' behaviour that pervasive Ruby metaprogramming (exemplified by Rails, of course) conjures.

If you've read Perl Cookbook, rest assured that the Ruby version is easily as good, although as you might expect, in the latter half of the book there's less emphasis in Ruby Cookbook on low level networking and sysadmin work and more on higher level libraries. That said, the chapter on Rails felt a bit superfluous.

This book is well-written and thorough, and would be a great second Ruby book (The Pickaxe being the obvious example for a first book). It has some interesting things to say about performance for some of the techniques it describes, although given how many different Ruby runtimes there are and how quickly they're progressing, it's difficult to say how relevant these will stay. Some of the examples are even quite amusing. Unless you were hoping for some truly in-depth metaprogramming detail, you'd be hard pressed to find anything wrong with Ruby Cookbook, except for the fact that it's competing with established Ruby must-read The Ruby Way, which covers very similar ground, in a very similar style. You don't need both books, and I preferred The Ruby Way. Nonetheless, this stands on its own as a great Ruby book.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
3 of 3 people found the following review helpful
on October 3, 2006
Sometimes, the difference between getting a project off the ground and watching it linger on the launchpad is finding an example of how to do something in code.

Perhaps you're working on a project and you'd like to send an email using Ruby. Maybe you'd like to know how to read and write zip files or create thumbnail images from full size graphics files. Sometimes cruising through the API documentation just doesn't quite give you enough info.

The Ruby Cookbook fills the void for a portable version of a Ruby code snippet search engine. For each example, there is a 'Problem' description, a 'Solution' section containing one or more chunks of Ruby code and a 'Discussion' section for follow-up. Most examples also have a 'See Also' section for cross reference.

A huge amount of material is covered. Topics range from simple stuff like strings, numbers, hashes, arrays and objects to more challenging subjects like code blocks, reflection, metaprogramming and multithreading. It has chapters on Internet services, Web services and distributed programming, and Web development with Ruby on Rails.

I'm only just skimming the surface here, this is a big book with 873 pages. It is quite simply packed with goodies. There is something in this book for Ruby programmers at every level. The book is well written and easy to read. You can download a zip file containing all of the code samples from the O'Reilly website.

If you want to learn Ruby and Ruby on Rails, there are three books that will help you more than anything else: Programming Ruby by Dave Thomas, Agile Web Development with Rails by Dave Thomas and David Heinemeier Hansson and the Ruby Cookbook by Lucas Carlson and Leonard Richardson.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
I bought this book on a shopping spree. Just needed a 3rd book to add to my shopping basket for a '3 = 2' promotion, it had good reviews so I bought it.

Ruby Cookbook
This book is not a straightforward learning book. It contains just a whole lot of 'recipes', small solutions for common problems. This book is not meant to be read in your bed from beginning to end. Rather it's something to grab on to when you want to do something but don't know how. Each chapter deals with a certain topic such as system administration, GUI's, multitasking, testing, webservices, Rake, databases, Internet services, Rails, metaprogramming and a whole lot of more basic language recipe's such as matching strings with regular expressions or comparing floating point numbers. It's a big fat book with nearly 900 pages.

Conclusion
Well, this is somewhat difficult as it's not a book to read from beginning to end. When I used the book, I have always found the solution for my problem in no time. It just covers a whole lot things. The recipes are short and clear and contain references for further information. It's a really good book and writing this review I am actually surprised I have used it so little times. Since it's such a big book, and not something to read in one piece, It's easy to put on your shelf, forget about it and use Google for help, like I did. The fact is however, that in all cases I thought about the book, it provided the answer I needed.

Given that, this book's pretty efficient. It saves a lot of time providing solutions and you don't even have to read the whole thing. Personally I think this book comes not to it's right on the bookshelf, but more as a desktop companion. Consider a digital version to keep around and CRTL-F when in need.

[...]
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on November 30, 2006
I've looked at a couple programming "cookbooks" over the few years I've been programming, and none have ever really captured my attention. Most of them I found were lacking in useful recipes for novice programmers, or the recipes used an outdated code style or covered specific areas of a programming language. And with others, I just found it difficult to find useful tips or tricks.

The Ruby Cookbook however, provides fresh, easy to read recipes that are full of neat tips and awesome tricks. And it's all provided in an easy to read, and more importantly easy to find, format. Programmers from novice to highly experienced will find this book useful.

The book is laid out using general data types as chapters at first, then moves into more abstract topics such as code blocks and modules; databases and persistence; web services and task automation with Rake.

Start with the table of contents to learn about a specific area, or thumb your way through the index to find specific topics or that fast piece of code you need to complete your project. No matter how you use it, the Ruby Cookbook is a must have book for any Ruby or Ruby on Rails programmer.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
6 of 8 people found the following review helpful
on August 23, 2006
O'Reilly's `Ruby Cookbook' Review

I have read several O'Reilly programming books over the years and use many as reference guides still today. However, I have never had the opportunity to read one of their `Cookbook' programming books.

I decided to read the newly released (July 2006) `Ruby Cookbook'. I had already read several more abstract Ruby books (Programming Ruby The Pragmatic Programmer's Guide 1st and 2nd editions) and had written a few programs in the language. I felt rather comfortable using ruby although idiomatic ruby does not come naturally to me yet and I thought now would be an ideal time to see what an O'Reilly Cookbook was really like. I wanted to see idiomatic ruby code written by people who know ruby. The `Ruby Cookbook' turned out to be the perfect choice.

The book was large; 854 pages not including the index. I'm used to programming books being large as most of them have library references, examples on how to implement certain algorithms, etc. But, the `Ruby Cookbook' had none of that. It was 23 chapters of mostly practical ruby code that solved a specific problem or completed a certain task. Each chapter deals with a different topic that everyday IT workers and programmers might run into during the course of their day-to-day job. One could pick the book up and open it anywhere at random and see code... lots and lots of code. If you're a hands-on learner who prefers examples to abstractions and you want to learn more about ruby, then this book is ideal.

I'd like to briefly explain what I enjoy about ruby. It's open source. There are no license or cost issues. It works well on Linux, Mac and Windows. It's very flexible... almost any part of the language can be extended or modified. Even constants can be changed albeit ruby will complain about this, as it's not good practice. And true to its Japanese heritage, ruby is not explicit. It conceals many details from the programmer. For example, when you use a code block while opening a file, like so:

open(`some_file.txt') {|f| f.readlines}

You don't have to manually close the file... ruby will close it automatically when that block finishes executing. Many programmers will find this disturbing... especially the older C gurus who have grown accustomed to allocating and de-allocating memory manually. However, sometimes it's enjoyable to use a language that seems to just magically do things right. Don't get me wrong, ruby is not the perfect programming language. It's just a language that draws upon lisp and smalltalk to bring a different perspective to problem solving and IMO it's a language worth knowing how to use.

OK, back to the book review. Each chapter covers a specific topic such as `Code Blocks and Iteration (Chapter Seven)' or `Objects and Classes (Chapter Eight)' with several situations related to that topic. The situations are broken down into three parts: Problem, Solution and Discussion. The Problem portion is just a basic explanation of what you've been tasked to do or the problem at hand to be solved. The Solution stage covers ways in which you can complete the task or solve the problem. And finally, the Discussion stage offers more in-depth information that isn't required reading but will give you a better understanding of how ruby works and why it does things like it does.

In general, the chapters are broad and short like this review. O'Reilly's `Ruby Cookbook' is not an in-depth review of ruby. However, topic coverage is adequate in conveying enough information to the reader to solve the described problems and to modify the presented code to cover similar problems should they arise.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
2 of 2 people found the following review helpful
on January 19, 2008
Great stuff. I suggest this book for a first look at Ruby over and above Programming Ruby and Agile Web Development. If you're already a coder, this book will put Ruby in context of essential problems that you typically solve in whatever language you're called to use in your day-to-day work. This is this book's strength. It's not the deepest look at Ruby, and it's not a replacement for The Ruby Way or Programming Ruby, but it might get you into the groove faster by leveraging common programming tasks and their representations in Ruby code.
0CommentWas this review helpful to you?YesNoSending feedback...
Thank you for your feedback.
Sorry, we failed to record your vote. Please try again
Report abuse
     
 
Customers who viewed this also viewed
The Ruby Programming Language
The Ruby Programming Language by David Flanagan (Paperback - February 4, 2008)
$27.95

Ruby Cookbook
Ruby Cookbook by Leonard Richardson (Paperback - April 3, 2015)
$45.97

 
     

Send us feedback

How can we make Amazon Customer Reviews better for you?
Let us know here.