rank trend

Programming Ruby: The Pragmatic Programmers' Guide, Second Edition

by Dave Thomas, Chad Fowler, and Andy Hunt
Released 2004-10-01
Read articles about Ruby
Buy it from AmazonNew for $26.23

61 Reviews

Sort by: Most Helpful ▲ Date Rating

4 stars Do I really have to learn _another_ programming language :-)

2005-04-24     145 of 152 found this review helpful

If you are like me, a busy programmer, I know you are wondering when you hear about Ruby, "Do I really have to learn yet another programming language?" I mean, Java, C#, Python? When will it ever end?

Well, it ends when you die, and yes, you do have to learn another programming language :-) But you'll like Ruby, I promise. Things I like about Ruby:

0. As easy to write scripts in as Perl, but it really scales.

1. Exceedingly self-consistent. Ruby has fewer syntactic warts than any programming language I'm familier with. All the features hang together very nicely.

2. Duck Typing: If you use a variable like a string, its a string. If you use it like a float, its a float. If you are familier with Haskell or or similarly typed languages, you get the idea. Ruby gives you about 80% of what Haskell gives you here.

3. Nice module system. This implements a nice mix-in facility--which gives you the power of C++ templates, with more structure. Also eliminates the need for multiple inheritance.

4. Wacky features like call/cc for the true language freaks.

Oh, so you want to know about the book too? Well, I agree with some of the reviewers here who describe the book as less of a tutorial/visionary screed/inspiring gospel and more of a reference manual. But I don't think this is a fair critique of the book. Back in the 60's, before the internet, a language needed a book to do for it what K&R did for C, or what Clocksin & Mellish did for prolog.

But today, you learn about a language by surfing the web. Instead of just duplicating what is available on the internet, this book complements the web, by supplying in a nice portable package what you need to know about Ruby which _can't_ be (easily) gotten from the web. Its a "post-internet" volume in this fashion.

Really the only critique of the book I can offer is that its description of Ruby/TK, the default GUI programming library for Ruby, is a bit abrieviated. It gives you the basics and the refers you a book about Perl/TK for the details. Please guys, in the next edition expand on this!

Ruby is a language which is as object-oriented as smallTalk, as flexible as Scheme, has the scriptibility of Perl, and a nice C-ish syntax. What's not to like? This book is the book to buy if you decide to learn Ruby.

5 stars Worthy successor to the indispensable original

2004-11-07     37 of 42 found this review helpful

Dave has done it again. Taking what was already an excellent first edition and growing it by 50%. He has updated all of the original chapters, the language walkthrough and the library reference.

Like most language books Programming Ruby starts with installing Ruby and then goes into a language reference; strings, classes, blocks, regular expressions, etc. It's all covered step by step with examples. The second part, Ruby and It's World, is a grab bag of chapters on more complex Ruby topics like graphical user interfaces, Ruby GEMs, and embedding Ruby.

Part III is a concise reference for Ruby that is handy when you already know the language but need a refresher. And the final part is a library reference with examples of using each method. This is the invaluable reference that you will use in every Ruby project.

This is the book to buy to learn Ruby, and to use as a desk reference. There is no question about that.

1 stars Not a Good Introduction or Reference

2006-07-09     33 of 55 found this review helpful

Ruby and the Rails framework (Ruby on Rails) have gotten major attention in the past year, primarily as an alternative to the complexities of using Java and J2EE APIs for typical N-tiered web applications using a Model / View / Controller framework.

"Programming Ruby" is supposed to be a combination of primer and reference for the Ruby language. Compared to some of the "classics" in programming such as "Programming PERL" (Larry Wall), "The C Programming Language" (Kernigan & Ritchie) or "The C++ Programming Languate" (Stroustrup), this book falls way short as both a primer or reference.

First of all, if you're interested in Ruby at this point, you're probably interested in using the Rails framework built using Ruby. This book provides NO information about Rails at all. This isn't a fault of this book, it's just something you need to know because many code examples you'll find on the web aren't "Ruby" examples per se, they are examples of using APIs within the Rails framework. Another book by this author is due out shortly covering Rails but based on the organization of this book, I would browse it in a bookstore before buying.

I've learned multiple programming langues over the years (Pascal, C, C++, a bit of Assembler, UNIX shell, PERL, Java) and I think most programmers expect any book on a programming language to tackle the material in the following order:

* installing the language
* running or compiling a basic program
* data types for the language
* variables, assignment and data structures / objects
* conditional expressions / control structures
* unit / module organization for source code
* advanced class / object concepts
* standard libraries for DB, network, security functions, etc.

As another reviewer stated, this book doesn't explain the Ruby language's use of symbols (:somesymbol) until page 323, even though it would be logical to explain symbols at the same time Ruby's hash type is explained. The difference between thisvariable, @thisvariable and @@thisvariable is explained very early but seems out of context because the scope of these variable types isn't clarified until the reference section. I think most experienced programmers will find the sequencing of chapters in this book confusing.

You can definitely learn key aspects of Ruby from this book but this will definitely not be the only book you'll want or need if you are learning Ruby to use Rails. Rails itself definitely shows some promise for simplifying some aspects of web development but I presume it will take another 2 years or so for the framework to stabilize and useful documentation to emerge. It definitely isn't clear from this book how Ruby as an underlying language for the Rails framework was a better or needed choice over implementing something like Rails with PHP or PERL that have already achieved wide familiarity.

4 stars You better already know how to program...

2005-06-21     25 of 29 found this review helpful

I'd suggest already knowing an OO language before you start reading this book. The book approaches its concepts backwards: It starts with the complexities (except for that intro chapter) and then teaches you the simple concepts. One of the things that was completely stupid was that it showed examples of using regular expressions for 1.5 chapters and then explained what regular expressions were afterwards. The authors do not have the common couresy to let you know they'll explain what their stuff means later.

I also agree with a previous review that says this book should be 1/3rd as long as it ended up being.

Now if you already know OO concepts, this book is great. The authors explain everything in as much detail as necessary or more (and i'd rather have more than less). They often explain something and compare it to C or C++ or Java which I like. And the book seems to be absolutely complete. You'll feel like a Ruby MASTER when you finish it. For someone that already knows OOP, the only way this book could be better would be if it were more concise.

If you're a programmer and you want to pick up Ruby, I suggest it.

3 stars Definitive but uninspiring

2005-04-05     22 of 31 found this review helpful

This book accomplishes everything it's intended to accomplish. It thoroughly documents the language, gives you a decent idea of the spirit behind Ruby, and is a comprehensive reference for the built-in API.

That said, it isn't that great a book. The writing style is awkward. Its structure is not especially cohesive. The standard library reference in chapter 28, which gives a one-page description of each module, is unhelpful. It should either be reduced to a one-line description, or expanded into a comprehensive reference and put into a separate volume. In general, this book ought to be about a third as long as it is. The core language is not a lot larger than C, but the size of its book is ridiculous when compared to K&R.

If you're planning on doing any serious work with Ruby, then by all means buy this book. It's the best available and you won't get far without it. I just wish that weren't the case.

5 stars A book that's as Ruby as Ruby itself!

2005-05-19     19 of 21 found this review helpful

This is the book you want if you're learning Ruby. It's four books in one! There's a tutorial-style introduction and overview of the language, new to this edition. There's more comprehensive, best-practices kind of coverage. There's a very complete reference to the language. And finally, there's lots of information on packages you might also want, for features outside the scope of the core language.

Ruby is the most inspiring language I've learned, and I've learned quite a few. I can't imagine learning this language without this book. Nor programming in this language without it as a handy reference!

1 stars Overhyped, Overrated...

2007-03-04     12 of 16 found this review helpful

This book is written by an expert in Ruby. An expert in the language, perhaps, but not an expert in writing teaching books. This is NOT a book for beginners, despite what it says on the jacket. The examples introduce multiple concepts at once which simply serves to confuse anyone trying to come to grips with what is a very complex and sophisticated environment. And there are simply not enough examples. Perhaps if you are coming from another OO environment you won't find this book so obtuse. But for me, it skims over the most complex subjects in a breezy manner which simply frustrates and infuriates.

I hated it.

5 stars Best book on programming ever!

2006-07-31     12 of 12 found this review helpful

I am a successful self taught programmer. I have learned C/C++, Java, Perl, and now Ruby all from books and reading other people's code. I have to say this is the best book on programming for a particular language that I have ever read. And I have read quite a few.

The book itself is very well written, easy to understand, has a little humour every now and then, but not too much to be annoying.

Some of the other reviews say the chapters of the book are not layed out very well and they don't understand what the Ruby Crystallized section is for. I would have to strongly disagree with this. It starts out with installation, Hello World, then it gets right into classes, methods, variables, etc. All the good stuff. The Ruby Crystallized section is basically to be used as a reference manual to the language. Basically, if you want to skip all of the "whys" and "how-tos", just read this section and learn some of the standard API and you're good to go. But if you want a little more in depth ( which is what I want ), start from the beginning of the book. I think the book was designed so that you really don't have to read the entire thing to get a good grasp of the Ruby language and it's concepts. The cool thing about this book is that it has most of the Ruby standard libraries in the back for easy reference. Not a lot of programming books have this.

I had the opportunity to hear Dave and Andy at a conference just recently and I tell you these are 2 really intelligent, great guys. It was a real joy reading this book. And Ruby is really a joy to learn and program!

5 stars An authoritative resource

2005-04-25     11 of 13 found this review helpful

This book is probably the authoritative English text on Ruby. It is fondly referred to as the pickax book by many Rubyists. The second edition has been updated to include the improvements in Ruby 1.8. It is organized into five parts with the first three being instructional from different perspectives and the last two being a library reference and the appendices.

However, the first part focuses on introducing Ruby. Running short examples that demonstrates the syntax of Ruby, but the text gives more insight into the concepts behind Ruby. As a tutorial, this part works very well in that the examples add complexity in an iterative fashion. Being as the authors are the pragmatic programmers, there is a chapter on unit testing in Ruby.

With all the excitement about "Ruby on Rails" and other Ruby projects, it is a great time to look into Ruby. This volume is a solid way to get started. In addition to being a good tutorial, it is also an excellence reference. Its only flaw may be that at 800+ pages, it has transitioned to the "luggable" category.

3 stars So-so

2008-04-16     9 of 9 found this review helpful

After having just finished reading the excellent "Programming in C" by Stephen Kochan, I find "Programming Ruby" a bit lackluster. Like a previous reveiwer noted, the Jukebox example in the beginning several chapters is contrived, and frankly, annoying. Many of the code snippets are dependent on one another and it's not intuitive to figure out how they all come together to make a program, especially when one snippet is given and then an alternate is immediately provided - neither of which can exist independently.

I'd be more interested in a straight-forward and thorough approach. For example, the use of symbols is a little confusing (that partly appears to just be Ruby). In the introduction "notation" section, the use of the '#' versus the "." to differentiate types of methods just really got me off on the wrong foot - particularly when it was noted that one notation would be used despite it being invalid Ruby syntax. From that point on I had a bit of symbol overload trying to figure out what the '@', '@@', '#@', '#@@', '$', etc. meant. At one point, a string is referred to as "[#@lyrics]". The brackets were meant to be printed literally and had no programmatic meaning, but just seeing that typed made me do a double take trying to figure out what the square brackets were supposed to indicate. To answer, nothing.

I intend to complete this book, because I can foresee that the knowledge of the language will be worth it. I'm hoping the next edition can draw the reader in a bit better and will provide the information in a more thorough and consistent manner.

4 stars Essential reference

2005-09-09     9 of 11 found this review helpful

This is basically the same book as the first edition, but updated for ruby 1.8, including the many new packages that are part of the standard ruby installer. The sections on gem, RDoc, and Test::Unit were welcome additions. I would have liked to see a lot more coverage of the Win32 libraries, but at over 800 pages I suppose the author had to make some hard decisions.

5 stars A classic in the Ruby domain...

2006-11-12     8 of 8 found this review helpful

If you're comfortable with a programming language like Java or C++, then Programming Ruby: The Pragmatic Programmers' Guide, Second Edition by Dave Thomas with Chad Fowler and Andy Hunt is pretty much a single stop source for everything you'll need to know to get going with Ruby.

Contents:
Part 1 - Facets of Ruby: Getting Started; Ruby.New; Classes, Objects, and Variables; Containers, Blocks, and Iterators; Standard Types; More About Methods; Expressions; Exceptions, Catch, and Throw; Modules; Basic Input and Output; Threads and Processes; Unit Testing; When Trouble Strikes
Part 2 - Ruby In Its Setting: Ruby and Its World; Interactive Ruby Shell; Documenting Ruby; Package Management with RubyGems; Ruby and the Web; Ruby Tk; Ruby and Microsoft Windows; Extending Ruby
Part 3 - Ruby Crystallized: The Ruby Language; Duck Typing; Classes and Objects; Locking Ruby in the Safe; Reflection, ObjectSpace, and Distributed Ruby
Part 4 - Ruby Library Reference: Built-in Classes and Modules; Standard Library
Part 5 - Appendixes: Socket Library; MKMF Reference; Support; Bibliography
Index; Summary Tables

The first think I noticed is that this isn't a "beginner's guide to Ruby". Yes, you may be a beginner to Ruby, but the material is written at a level that assumes you are comfortable with the concept of programming and application development. As such, there's not any time wasted on fluffy stories and rabbit trails. The layout of the material is very similar to what you'd expect to find in a tutorial work for a language like Java. The basic syntax and constructs are covered first, followed by more architectural concepts like objects and typing. Again, if you have a background in an object-oriented programming language already, this is all going to fall into place for you quickly. Once you learn how to work with Ruby, the book continues to retain its usefulness by including all the language reference material you'll need on a day-to-day basis. It's complete enough to give you the answers you need, but concise enough to scan through to get ideas from classes and libraries that you may not have used or known about before.

Given Ruby's background coming from Unix-type environments, many of the examples and writings tend towards that platform (although they aren't "Unix only"). I liked the Windows chapter they included, as there are some interesting ways that you can use Ruby and COM to get some automation of applications going. Hooking into the Windows API is an intriguing concept also, as you can start scripting some tasks you do on a regular basis. There weren't as many "example A does ..." illustrations as I would have liked. It seemed that most of the code snippets were bits and pieces of things that would likely be parts of larger programs. If you're looking for something akin to a Ruby cookbook, this isn't it.

I can understand why this is considered one of the classic Ruby books on the market. It's definitely an option to consider if and when you're ready to start moving to Ruby.

3 stars Good, but far from perfect.

2007-08-27     7 of 12 found this review helpful

This book is a great reference, but the tutorial is somewhat confusing. This has two main reasons:

1. Ruby itself is a somewhat confusing language. Really. Don't believe all the hype surrounding it. I'm not saying it isn't good, but it uses lots of concepts which aren't that common in other languages and the syntax is unnecessarily bizarre sometimes. Python has everything Ruby has, but it's *always* legible, clean and - let's face it - beautiful.

2. The top-down approach of the tutorial isn't efficient if you've never programmed before. I have a good deal of experience with other languages, so it was quite straightforward to me, but if that wasn't the case - and this book is also targeted at the newbie audience - I'd probably be lost sometimes.

That said, this is still THE book to get if you're interested in learning Ruby, at least until someone writes a better one.

5 stars For those of you who complain about this book

2006-01-09     7 of 10 found this review helpful

This book is in NO WAY written to TEACH you Ruby...it is merely a reference manual. If you are ording this book to LEARN ruby your looking in the wrong place, if you are ording this boko for reference, it is one of the best reference books ever written.

5 stars All you've ever wanted to know about Ruby...

2004-11-23     7 of 7 found this review helpful

This was another book that I picked up with the expectation that it would introduce me to a whole new programming language. It did. And it did it well. The overall quality of the writing is top notch and the pragmatic approach simply works. Not too much memorizing the language syntax, not too much talk about the history of computers. Instead, the book jumps to the Ruby world head on.

So I just said "not too much memorizing the language syntax". What does that mean? Well, the first part of the book does indeed teach the reader to write syntactically correct Ruby code. However, the way it accomplishes this is not by focusing on the syntax but on the function behind the syntax. Also, the authors have paced the chapters so that you won't be spending too long a time reading about some single specific thing. For me, this approach fits like an old glove. I usually read books in short sprints, be it in a bathtub, a bus, or in bed. Having said that, I do believe that you can get the most out of this book by alternating with reading the book and the interactive Ruby interpreter. There is a downside to the fast pace, though. At times, a specific chapter doesn't quite give you the kind of sense of belonging as the others around it do.

Looking at the wide range of topics listed in the table of contents, the book definitely looks like it covers everything under the Sun. Some of the topics got me panting, almost. Developing web applications with Ruby (one of my motivations behind deciding to read the book in the first place) and unit testing Ruby classes, for example, were topics that I was a bit disappointed about not getting more focus.

Another thing I didn't like too much is the size. At 800+ pages, you're not likely to carry this book around with you. I would've personally preferred putting the 300-page the language/API reference online and left it out from the hardcopy. With the size thing out of my way, I have to admit that the reference certainly looks great compared to what I've seen in most Java books, for example.

All in all, I'm confident that this is one of the best Ruby books out there if not the best, even. Regardless of the few gripes I listed above, there's more than enough absolute gems hidden within these covers. I am certain you won't have second thoughts picking this one to get started on your Ruby way.

3 stars Good but not for newbies

2006-03-27     6 of 8 found this review helpful

I am a fairly confident procedual programmer with a little bit of object orientated programming experience (1 semester at university). I like the syntax of the language and the book did a good job of demonstrating this. If you haven't been taught OO programming you may find this book difficult to understand. I had to go back and look at some old java text book to understand certain concepts.
Overall the book is OK. It could definatley use more examples and real world scenarios besides the jukebox example. The bulk of the book is a reference library. Not that this is a bad thing.

5 stars outstanding reference and tutorial!

2005-01-16     6 of 7 found this review helpful

Thanks Dave, Andy, Chad, Matz! This is a wonderful book for learning arcane details of ruby. Also, of all the (100s of) books i have on C, perl, java, python, TCL, etc., the best indexed & most usable reference by far (35 page index!) Ruby 1.6 was pretty well documented in 1st edition pickax, "Ruby Way","Teach Yourself 21 Days" books and on the web. Also Herrington's "COde Generation" book is a great tutorial/reference on reg exp's, XML & templated code/text generation. ruby 1.8 raises bar substantially, with huge increase in expressiveness of the language (smaller delta than python 2.2 vs 2.0 but still substantial) but with possibility of deeply nesting algorithmic and data structure complexity.

Being pure object-oriented language, ruby's more complex than perl or python, you must have decent grasp of O-O design,& design patterns to use it effectively, and you have to spend time learning how the object model descends from Object, Module, Class classes and Kernel, Comparable, Enumerable modules to know where to find classes/methods referenced. ANd it has enough smalltalk-y influence that perl, python, java people have to step back and re-think iterators and control structures, for example, and spend some time learning a different set of debuggers, profiling/unit testing libs, IDEs or emacs/vi setup, etc.

So if you're picking up the Rails framework, or building apps from scratch, or just evaluating ruby vs. python, java, C#, buy/borrow this & a couple ruby 1.6 books, look up web resources, there's lots of mail lists, forums and blogs now.

2 stars Not for a Java programmer

2007-07-26     5 of 14 found this review helpful

Information is set in a haphazard manner. Cannot get a clear picture of how a Ruby program is structured.For ex: Chapter 4 is on "Containers, Blocks, and Iterators". Chapter 7 "Expressions" again has different information on Loops, Iterators, For ... In, Variable Scope, Loops, and Blocks etc.

4 stars Has faults, but best I've seen so far

2007-05-21     5 of 5 found this review helpful

I taught myself to program in Ruby using this book. I was already experienced in Fortran and IDL, but Ruby is my first object-oriented language. Although the book can be confusing, and is not written at a beginner level, I was able to get what I needed from it, and still enjoy cruising through the book to learn more about Ruby. I keep it on my nightstand, but hey...I'm a geek.

If you are new to object-oriented programming I would first recommend reading "The Object Oriented Thought Process" by Matt Weisfeld before actually learning Ruby.

5 stars A very good introduction for programmers getting to know ruby

2007-03-09     5 of 5 found this review helpful

I dont have a lot to add here other than what the subject saya - having worked with multiple other languages (including perl) this book is a good reference and start point to get to know the basics of ruby before getting started on rails and such (if you want to know the basics of ruby behind it, which many rails manuals fail to address), like what and why and how a :symbol works in magical ways :) I read the first few chapters in full, then using it as a reference now.

3 stars Quite possibly....

2006-12-27     5 of 11 found this review helpful

... the most overrated programming language book ever written. Not to be mentioned in the same breath as _Programming Perl_, K&R, or even the workmanlike O'Reilly sed/awk or Javascript primers. Clearly inadequate as a tutorial for newcomers to programming, and exasperating in its breezy tone and shallow coverage to the experienced. It is unfortunate that David Black, in his recent _Ruby for Rails_, decided to mar his outstanding Ruby tutorial with Rails irrelevancies - nonetheless, that book provides a better introduction to the language than this rehash.

2 stars not that good

2008-04-05     4 of 6 found this review helpful

Sorry but to me this book is not that good. I feel like the authors lack real programming experience. The JukeBox example seems out of a bad OO book, and I found few real-life examples.
As a comparison I also recently red 'Dive into Python' from M. Pilgrim and wow! the difference was striking. I wish I could find a book like that on Ruby.

5 stars Good both for learning Ruby and comparing it to other OO languages

2006-05-26     4 of 4 found this review helpful

This book is an excellent one on learning the Ruby language if you already know object-oriented programming and are coming from the C++ or Java world in particular, since the authors often compare how you do something in Ruby to those two languages. If you don't already know object orientation I think you'll be lost. This is a book not only about the Ruby language and its syntax, but Ruby and its environment. There is an entire chapter entitled "When Trouble Strikes" that talks about the ruby debugger, interactive Ruby, profiling to look for code bottlenecks, and a common list of mistakes that Ruby programmers make. In "Ruby and the Web" the book shows how easy it is to write HTML forms using Ruby, and in a reverse move, how easy it is to embed Ruby in HTML by using eRuby. In "Extending Ruby" it is shown how Ruby itself can easily be extended by writing extensions in the C programming language.
This book also helped me compare Java and Ruby as languages to the point that I can now see the various advantages that Ruby has over Java. For example, built-in lists/arrays and hashes/dictionaries in Ruby are a big win over Java and its library-based collections. Java 5.0 fixes some of this but, in Java, collections still seem tacked on rather than integrated as in Ruby. Another big win of Ruby over Java is its ability for dynamic code loading. You can do it in Java but again, it seems tacked on. Also, Ruby object-oriented completeness over Java's dichotomy between primitive types vs. objects is a big plus for Ruby.
If I have any criticism of this book, it is that although complete, the chapters seem somewhat out of order. In particular quite a bit of the material in part 3, "Ruby Crystallized", seemed to only be repeating material in part one. However, it is still the best book out there for getting a detailed look at the language and its environment. I notice that Amazon does not show the table of contents for this book, so I do that here:
PART 1- FACETS OF RUBY
1. Getting Started
2. Ruby.New
3. Classes, Objects, and Variables
4. Containers, Blocks, and Iterators
5. Standard Types
6. More About Methods
7. Expressions
8. Exceptions, Catch, and Throw
9. Modules
10. Basic Input and Output
11. Threads and Processes
12. Unit Testing
13. When Trouble Strikes
PART 2 - RUBY IN ITS SETTING
14. Ruby and Its World
15. Interactive Ruby Shell
16. Documenting Ruby
17. Package Management with RubyGems
18. Ruby and the Web
19. Ruby Tk
20. Ruby and Microsoft Windows
21. Extending Ruby
PART 3 - RUBY CRYSTALLIZED
22. The Ruby Language
23. Duck Typing
24. Classes and Objects
25. Locking Ruby in the Safe
26. Reflection, ObjectSpace, and Distributed Ruby
PART 4 - RUBY LIBRARY REFERENCE
27. Built-In Classes and References
28. Standard Library
APPENDICES
A. Socket Library
B. MKMF Library
C. Support
D. Bibliography

5 stars THE book on a hot new technology - but

2006-02-25     4 of 6 found this review helpful

you've got to get used to this new type of language. (I'm a PHP, C#, VB, Lisp, RPG, COBOL, FORTRAN, another couple dozen languages developer) Every inch of code in Ruby is packed with consequences. I don't paticularly like this way of coding, I prefer a language with simpler syntax. Easier to write and debug, lower learning curve. But then there's the argument, even using good OO techniques, with all the gyrations needed to duplicate the inch of Ruby you'd have something worse. Besides, rather than the language being hard, I might just be too old to learn. Anyway I'm about 1/3 the way through the book, it's a decent tutorial style, not one of those follow the reference manual books, but I keep putting it down to learn something else, more immediate. I got drawn in to it with great Rails MVC Framework. I Bought the Ruby book first thinking language knowledge would help understand Rails. Am questioning now if Rails should have gone 1st. I have to give the book 5 stars though because it is so well written and it may well be the difinitive book on the subject. (The correct rating would be 97/100.) If you're doing Ruby though, you need this book.

3 stars Great but...

2009-06-03     3 of 3 found this review helpful

Great read and I am loving the language. BUT there are no exercises for one to practice with! ARGH.

It would be a far better book if there were exercises so one could practice the concepts just learned. It one thing to go "Yeah, I get that" but it's another to be able to reproduce it with the right syntax etc. Anyway, not to diminish the greatness of the book but it whetted my appetite for more Ruby but left me hungry. I ended up using PythonChallenge.com but it's not mapped to the book so it made it a little more difficult to learn.

5 stars You must have one

2007-06-21     3 of 4 found this review helpful

Dave Thomas is surely one of the best writers I've ever seen. He doesn't treat you like an idiot, so it's perfect for experienced programmers to learn very fast many aspects of the Ruby language.

3 stars Great- if you know a programming language.

2006-02-17     3 of 9 found this review helpful

I'm just beginning to learn about programming. This book looks like a very powerful resource if you already know a programming language, but I definitely need a "For Dummies" version.

4 stars Strong but not perfect

2006-02-11     3 of 4 found this review helpful

My biggest criticism is how, as far as I can tell, it does not provide a timely introduction (if any, at least in the first edition) to symbols.

A symbol looks like :foo. Apparently it just means "the thing called 'foo'" but as a programmer, I need to know more than that. Symbols are also used extensively in Ruby on Rails, so I would appreciate if this book explained what they are!

5 stars The weight is equal to the knowledge within

2007-05-21     2 of 2 found this review helpful

Fantastic book. Very well laid out and informative. For a ruby/programming newbie, check out why the lucky stiff's "poignant guide to ruby" as well and you'll have all the tools you need.

5 stars Hands on ruby

2007-02-14     2 of 2 found this review helpful

This collection is impresive, this book is easy to follow.

I'm reading it in conjuction with Ruby on Rails from the same collection.

Lot's of examples, all is clearly explained....... what can be said about a book that is already a classic.

4 stars PickAxe

2007-01-09     2 of 4 found this review helpful

This book is called The PickAxe in the Ruby community. I can see why now. Its a complete introduction to Ruby language and also it contains a complete reference to Ruby Standard library. So basicaly it contains everything a Ruby programmer could need presented in a fun-to-read interesting form. This is a must-have for any serious Ruby programmer.

5 stars what more can be said? the definitive Ruby book.

2007-01-06     2 of 4 found this review helpful

the "Pickaxe" book deserves its reputation as the definitive book on Ruby.

this book is to Ruby what Kernighan & Ritchie's "The C Programming Language" is to C. it's *the* book on the subject.

(well, it doesn't have the famous brevity of K&R C, but that's only because Ruby is a bigger language and needs a bigger treatment than K&R's famously slim book)

5 stars Teaches the Language, which is Great!

2006-05-22     2 of 2 found this review helpful

I wanted a paper book to learn the language of Ruby. I am unable to concentrate on online book reading.

This book gave me exactly what I wanted:
* Taught me the language and how Ruby "works".
* Gave me references to Modules that Ruby uses.

This is exactly what you are looking for if you are looking to learn the Ruby language. It doesn't do much else, which is GREAT!

Get this if you want to learn Ruby.

5 stars Best book I know on Ruby

2006-05-10     2 of 2 found this review helpful

This book has gotten me up to speed on Ruby coming from a PHP background and did so quickly and easily. This books will provide everything most existing programmers will need to know to get up and running with Ruby in no time. Pair this volume with Agile Web Development with Rails (2nd Edition Beta looking better than the first) and you have the definitive Ruby and Rails text set.

I have yet to read anything from Pragmatic Programmers that wasn't great. Their books have replaced O'Reilly's as the ones I want on my desk instead of on my shelf!

5 stars if you want to learn ruby, buy this book

2006-02-23     2 of 3 found this review helpful

plain and simple: this is one of the best written language references i have ever had the pleasure of owning. ruby is a facinating language and dave thomas knows how to write a really good book.

buy this book

5 stars Great introduction through expert level

2005-03-31     2 of 2 found this review helpful

Ruby is an increasingly popular cross-platform, object-oriented language. With 98 standard libraries and the ability to access Windows native APIs it is a very powerful way to write programs where you might have used CGI, XML, or SOAP before. The book contains an excellent tutorial, a language reference, and documentation on all built-in classes, modules, and methods.

As you would expect, the authors cover installing the software as well as practical examples to help learn the programming techniques. With over 350 pages of documentation and references just on classes and libraries, the coverage is extensive and detailed. This is a very practical guide on how to use Ruby effectively and efficiently. Programming Ruby is highly recommended to anyone who needs a more flexible and powerful programming system than Perl, XML, CGI, or SOAP.

5 stars Great introduction to the next big dynamic language

2005-01-08     2 of 2 found this review helpful

As much as I liked the first edition of this book, I like this one even more. Dave has written a wonderful introduction to programming with the Ruby language which will stand up to use as a reference even after you've got a handle on the language.

The sections on unit testing and profiling are great, and the library reference at the end is worth the price of the book alone.

5 stars A Must-Have For Ruby

2008-01-03     1 of 1 found this review helpful

There are books which are good and that you occasionally turn to for information. And then there are books that are always sitting on your desk, at the ready with dog-eared pages and multiple bookmarks sticking out.
This book falls into the latter category.

4 stars Well written, easy to follow, accurate. Great book!

2007-10-17     1 of 1 found this review helpful

I attended a Rails class with Dave Thomas and used this book as a bit of a "study-up" leading up to it. The book provides easy-to-understand explanations of Ruby methods and excellent examples. Thomas and company perfectly understand the audience of the book and can get anyone programming effective and elegant Ruby in a short period of time. This book remains an excellent reference I keep on my desk and use regularly, as well. It will become a key part of your programming library!

4 stars So far, So good!

2007-10-17     1 of 1 found this review helpful

For someone coming from a limited background in web development, but with a keen interest in Ruby (and Rails, the framework built for Ruby), this book has been fantastic.

The best thing I can say is that Ruby 'feels' somewhat intuitive. A vague statement, for sure, but until you take what is taught in the book, and venture out with your own ideas you will not know what I mean, nor will you grasp the language. This book does a great job of breaking the language down and encouraging the reader to experiment.

By and large, I am a fan of the Pragmatic Programmer books. They have never let me down.

This book is very big, weighing in at 830 pages. I'm not even half way through yet. There is certainly more information than I expected. If you are a complete beginner, like I was, I would suggest starting with Pine's "Learn to Program (Pragmatic Programmers)" from Pragmatic. It is a short, non-threatening book, teaching the basics of Ruby programming. Then move on to Programming Ruby (or, 'Pickaxe' as it is lovingly referred to).

Either way, this book should be on your short list.

5 stars A fantastic introduction to Ruby

2007-10-16     1 of 1 found this review helpful

I'm taking a class in Ruby Programming, and this is one of the required texts. It's comprehensive without being overly complicated, though it's a reference rather than a tutorial.

5 stars Great book!

2007-07-24     1 of 1 found this review helpful

I decided to learn Ruby on my own and I'm glad I picked this book. It's very easy to follow and the instructions were very concise. If you're new to programming like myself, this book will be a great help in getting your feet wet.

5 stars A classic, a must-have for anyone learning Ruby

2007-06-26     1 of 2 found this review helpful

This is the book which made Ruby popular in America. I like the way they start out talking about blocks and closures early in the book. As the book notes a reviewer said about blocks "This is important!"

4 stars All the information you need

2007-04-10     1 of 1 found this review helpful

A Great way to learn ruby and a great reference guide once you have - contains all the information I needed to learn ruby, clearly set out in a chapter progression that facilitates moe advanced learning as you go along.

4 stars a good ruby book

2007-03-11     1 of 4 found this review helpful

An interesting book if you want to learn about ruby. It's very useful

5 stars Great book-must have

2006-12-26     1 of 1 found this review helpful

Sometimes it is nice to be able to thumb through a reference book. Like when you have been staring at the computer screen for the past 8 hours trying to figure out a complicated programming problem. This book is well organized, has verious levels of detail for differnt skill levels. It covers a wide scope with sufficient examples.
If you are just starting out in ruby or need a ruby reference, this is the place to get both.

5 stars Great for learning

2006-07-24     1 of 5 found this review helpful

For learning Ruby, this is a great book. It'll help you learn the basics (although a little coding will help you more than reading will), and then, it'll introduce you to some of the more advanced topics. A great introduction.

5 stars Very user friendly and lots of examples

2006-04-23     1 of 2 found this review helpful

I started learning Ruby using this book a few days back and I must say, it's much more fun to program in Ruby than even my favorite programming language, which WAS Java. I have been reading this book from the beginning, chapter by chapter. now I'm on chapter 11, Threads and Process. I can tell that the author tried hard to keep learning entertaining unlike most programming books I've read-- try learning LISP from Guy Steele's book or C++ from Stroustrup's book, and you'll know what I mean.. But I guess those two are more like reference manuals. Anyway, this book is probably okay for a novice programmer. The only drawback is that there's no example problem. I think the first edition of this book is free on Ruby's official website. It's actually more convenient to use the online version when learning on a computer since I can copy and paste codes. I also find the online API with search functionality to be very useful when playing around with Ruby.. who uses the terminal rdoc man-page looking thing anyway? :)

5 stars A definitive reference to the programming language

2004-12-12     1 of 2 found this review helpful

The collaborative effort of Dave Thomas (who is personally responsible for many of the innovative directions and initiatives associated with Ruby) with the added assistance of Chad Fowler (codirector of Ruby Central, Inc.) and Andy Hunt (a founder of the Pragmatic Programmers and the Pragmatic Bookshelf), Programming Ruby: The Pragmatic Programmers' Guide is composed of four major sections: a "user friendly" tutorial on employing Ruby; a definitive reference to the programming language; a complete documentation of all build-in classes, modules, and methods; and a complete and definitive description of all 98 standard libraries. This newly expanded and updated second addition also addresses coverage of installation, packaging, and documenting Ruby source code; threading and synchronization; and enhancing Ruby's capabilities using C-Language extensions. Of additional value are the new chapters on XML/RPC, SOAP, distributed Ruby, templating systems, other web services, and unit testing.

4 stars Programming Ruby

2009-08-28     0 of 0 found this review helpful

I found this book to be very informative. I am new to Ruby however I have read many other programming books. This book is comprehensive a very good guide for examples for code and most of all the book is laid out in a very comprehensive way. I had no problems finding code concerns that I had and needed to understand. This book is for the serious Ruby programmer.

5 stars Firmly Planted Near The Keyboard

2009-03-19     0 of 2 found this review helpful

I acquired the "Pick Axe" book a few months after beginning to work full time on a rails application. Prior to doing so I was thrutching my way around with various Rails books, but quickly realized I needed a solid reference to the language behind the framework.

Enter Programming Ruby-
This book has most definitely become a major resource in my daily work in Rails. Being somewhat new to the language, the pick axe book always seems to hold the answers to my small inquiries about Ruby quickly and effectively.

As such I highly recommend that any Rails developer pick up this volume and add it to their library.

5 stars Must have for any Ruby programmer

2009-02-26     0 of 0 found this review helpful

I'm not sure how much the times have changed, but I got the second edition of this book on pre-order. At that time it was a fantastic references. It told me everything I ever wanted to know about the Ruby language. From the nice tutorials at the beginning to the excellent language and API reference toward the back. It even goes into some of the nitty gritty implementation details and has a chapter on writing C extensions.

5 stars Excellent Book - Must Have for any Ruby Developer

2008-10-19     0 of 0 found this review helpful

First and foremost, this book isn't a beginners guide to ruby, it doesn't hold your hand from "Hello, world", and it expects you to already know the basics of programming. Also, this book isn't a tutorial, it's a reference book first and foremost, and while it *does* guide you through some of ruby's basics that's not the primary intent. While there are excellent tutorials for learning ruby on the web, and excellent documentation for the standard library as well, Programming Ruby is something every ruby developer should have sitting at their desk.

This isn't because ruby is a hard language, but because the core documentation, while excellent, doesn't always give you decent sample usage, while Programming Ruby will tell you how to use part of the standard library with their clever 'ruby jukebox' scenario. This comes in really handy when they tell you how to handle threads, file I/O, and especially writing extensions in C.

So while you can happily code ruby without this book, you really shouldn't.

5 stars Good Stuff

2008-06-19     0 of 0 found this review helpful

It's good enough that I refer to it instead of Google for the more mundane bits.

5 stars This book gets me home late!

2008-05-04     0 of 0 found this review helpful

This is "the book" if you want to learn Ruby. I had my share of the web-search-print-and-try approach to get a taste on Ruby, and after reading this book I can say I haven't been so pleased to learn a programming language in a while.
This book it's proof of what the "Ruby way" is. It doesn't just walk you through the details, dos and don'ts of the programming language, it allows the reader to grasp the practice of the "Ruby way" of doing things. And it's a clean, elegant, yet powerful way!

It's been such a nice experience it got me home late several times... I ended up at the subway terminal and making my way back for missing my station!

I sincerely recommend it ... and if you are tempted to invent excuses for getting home late, then have him/her read it too!

4 stars Book Review

2008-03-17     0 of 7 found this review helpful

I ordered this book, which was listed in like new condition. I received this book very quickly. I am very happy with the condition and the speed of delivery on this book. I would buy another book from this user.

5 stars Great Reference/Tutorial Combination - Not For a Beginning Programmer

2008-01-20     0 of 0 found this review helpful

The first part contains a great introduction to the language. The author walks through a great tutorial for building a jukebox application making the concepts of the language very clear.

Now as a reference, the second part, I find myself referring to the book several times a day during development. The reference section also has fairly decent examples and explanations that are clear and not so technically puffed up so that a normal human like me can understand.

Of course it's not meant for someone trying to learn to program, but after learning a few of the basics of programming, one can appreciate the elegance of Ruby.

4 stars Good Ruby details

2007-01-09     0 of 2 found this review helpful

This book covers Ruby in all it's details.
As I'm learning Ruby on Rails it's a pity that the Rails framework is only mentioned among other frameworks. Rails is the framework that boosts Ruby's popularity.

5 stars A Must For Ruby and Rails Developers

2006-07-23     0 of 3 found this review helpful

This book is a must for both Ruby and Ruby on Rails developers. It is extremely well written and contains much more than a normal programming book. Most importantly it assumes that you're above average intellegence and doesn't pull punches when it comes to complex ideas.

I could ask for no more out of a programming book. The Pragmatic Programmers have taken over my life with good reason.

Best for Intermediate and Advanced programmers (people who have already learned at least one other programming language or scripting language.)

5 stars One stop shop reference

2006-02-28     0 of 0 found this review helpful

I finally decided to review this book, having read it quite some time ago. The reason I waited this long is that I feared I wouldn't have been able to provide a fair assessment of the merits of this book. My problem is that, nowadays, I get easily bored reading yet another programming book. And a book entirely dedicated to a single programming language was bound to bore me infinitely.

That's what happened, actually. I got so bored that it took me a really long time to finish it, even after skipping entire chapters. I managed to finish it only because I forced myself to do it.

I know Ruby is cute, and has lots of nice and innovative features, but I just can't stand anymore reading operator precedence tables, variations on the basic control structures and core libraries. Last time I got excited by a programming language was with Java, and that was circa 1995. I'm too old for that.

But I must try to stay objective and think how useful "Programming Ruby" could be to a young programmer and I have to admit the answer would be: a lot! As is customary with titles from The Pragmatic Programmers, quality is very high, both from a content point of view and from a presentation one as well. Well written, it even manages to inject a bit of humor into a dry subject. If you want a one stop shop reference for all Ruby, that's it! Not much more to say, except that I'd have liked, at times, the code samples to be longer, more structured and less contrived, but it's a minor nit.

I suggest that you read it in bits and pieces, not cover-to-cover and if boredom gets you, you can always get a little of why's (poignant) guide to Ruby as an antidote.

5 stars A smart book for a smart language

2004-10-24     0 of 0 found this review helpful

Brought up to date for Ruby version 1.8, and expanded with some 200+
additional pages, the second edition of the much-loved Pickaxe book is
definitely a must-have for anyone interested in the Ruby programming
language.

This book provides an extensive Ruby tutorial, a concise language guide, a
comprehensive reference to the built-in classes and modules, a useful set
of synopsis pages for the entire standard library, and a great deal more.
But the book doesn't merely try to be all these things, it succeeds at
being all of these things, and very well indeed, while all along imparting
healthy doses of practical Ruby programming wisdom.

Well written, and nicely printed and bound (lay-flat binding), this is a
first rate book in every respect.

Buy it from AmazonNew for $26.23