Programming Ruby: The Pragmatic Programmer's Guide

Overview

Ruby is a true object-oriented programming language that makes the craft of programming easier. Ruby is a transparent language: It doesn't obscure your program behind unnecessary syntax or reams of extra support code. Guided by the Principle of Least Surprise, Ruby embodies the values of consistency and simplicity of expression. It's more than a programming language: It's a concise way of expressing ideas. Ruby supports natural intelligence--yours.

Programming Ruby: The ...

See more details below
Available through our Marketplace sellers.
Other sellers (Paperback)
  • All (17) from $1.99   
  • New (3) from $5.47   
  • Used (14) from $1.99   
Close
Sort by
Page 1 of 1
Showing All
Note: Marketplace items are not eligible for any BN.com coupons and promotions
$5.47
Seller since 2010

Feedback rating:

(14)

Condition:

New — never opened or used in original packaging.

Like New — packaging may have been opened. A "Like New" item is suitable to give as a gift.

Very Good — may have minor signs of wear on packaging but item works perfectly and has no damage.

Good — item is in good condition but packaging may have signs of shelf wear/aging or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Acceptable — item is in working order but may show signs of wear such as scratches or torn packaging. All specific defects should be noted in the Comments section associated with each item.

Used — An item that has been opened and may show signs of wear. All specific defects should be noted in the Comments section associated with each item.

Refurbished — A used item that has been renewed or updated and verified to be in proper working condition. Not necessarily completed by the original manufacturer.

New
New Book.

Ships from: Palm Bay, FL

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
$34.97
Seller since 2014

Feedback rating:

(290)

Condition: New
Brand New Item.

Ships from: Chatham, NJ

Usually ships in 1-2 business days

  • Canadian
  • International
  • Standard, 48 States
  • Standard (AK, HI)
  • Express, 48 States
  • Express (AK, HI)
$50.00
Seller since 2014

Feedback rating:

(181)

Condition: New
Brand new.

Ships from: acton, MA

Usually ships in 1-2 business days

  • Standard, 48 States
  • Standard (AK, HI)
Page 1 of 1
Showing All
Close
Sort by
Sending request ...

Overview

Ruby is a true object-oriented programming language that makes the craft of programming easier. Ruby is a transparent language: It doesn't obscure your program behind unnecessary syntax or reams of extra support code. Guided by the Principle of Least Surprise, Ruby embodies the values of consistency and simplicity of expression. It's more than a programming language: It's a concise way of expressing ideas. Ruby supports natural intelligence--yours.

Programming Ruby: The Pragmatic Programmer's Guide is your complete Ruby resource. It provides a tutorial and overview of Ruby version 1.6; a detailed description of the language's structure, syntax, and operation; a guide to building applications with Ruby; and a comprehensive library reference.

Mining real rubies is hard work done with a pickaxe, but mining ruby the language is simple With this book, you'll find it remarkably easy to Learn Ruby basics. You'll find normal stuff like classes, objects, and exceptions, as well as more interesting features, such as infinite-precision integers, iterators, mixins, and threads.

  • Write large, well-structured Ruby programs
  • Write CGI scripts and create dynamic Ruby pages for the Web
  • Create cross-platform GUI applications
  • Access Microsoft Windows native API calls and automate Windows applications
  • Extend Ruby using C code

Other gems you'll find in Programming Ruby include:

  • An alphabetical reference to all of the built-in classes, modules, and the standard library, documenting over a thousand methods
  • A reference to object-oriented design libraries, network and Web libraries, and Microsoft Windows support
  • A guide to downloading the Ruby language itself, as well as other Ruby resources
  • Numerous examples (that really work) appear throughout the book. You will come away from this book with an appreciation for Ruby's power, flexibility, and clarity. You'll be armed with the information you need to put Ruby to work for you and your projects.
Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Just what the world needs... another programming language. And yet, people who've discovered Ruby swear by it. The latest Japanese import, Ruby's exceptionally productive, thoroughly object-oriented, remarkably flexible, and fun.

As David Thomas and Andrew Hunt write: "Ruby doesn't obscure the solutions you write behind lots of syntax and reams of support code . . . you write programs close to the problem domain. Rather than constantly mapping your ideas and designs down to the pedestrian level of most languages, with Ruby you'll find you can express them directly and express them elegantly. Using Ruby, we are constantly amazed at how much code we can write in one sitting, code that works the first time."

In Programming Ruby, Thomas and Hunt make the case for Ruby, in detail -- and a good deal of what's here is presented in English for the first time. You'll start with a basic Ruby tutorial, learning a few concepts and terms you won't have come across in other languages; then introducing Ruby's classes, objects, types, expressions, and so forth. In Part II, you'll use Ruby to build web applications, create GUIs for Ruby applications with Ruby TK, and learn how to use Ruby in a Microsoft Windows environment (you can make native API calls, even use COM and Windows Automation).

Part III takes you into advanced terrain, such as Ruby's security features; introspection (similar to Java reflection); and marshaling. The book concludes with a 250-page Ruby library reference, encompassing its built-in classes and modules, standard library, object-oriented design libraries, network and web libraries, Windows support, and more.

If you're a developer in the mood to explore, Programming Ruby will reward you richly. (Bill Camarda)

Bill Camarda is a consultant and writer with nearly 20 years' experience in helping technology companies deploy and market advanced software, computing, and networking products and services. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks For Dummies®, Second Edition.

Booknews
A tutorial and reference to the object-oriented programming language for beginning to experienced programmers. Using version 1.6, Thomas and Hunt describe the language's structure, syntax, and operation and explain how to build applications. They include a library reference. Annotation c. Book News, Inc., Portland, OR (booknews.com)
Read More Show Less

Product Details

  • ISBN-13: 9780201710892
  • Publisher: Pearson Education
  • Publication date: 10/17/2000
  • Pages: 608
  • Product dimensions: 7.41 (w) x 9.23 (h) x 1.13 (d)

Read an Excerpt

PREFACE:

This book is a tutorial and reference for the Ruby programming language. Use Ruby, and you'll write better code, be more productive, and enjoy programming more.

These are bold claims, but we think that after reading this book you'll agree with them. And we have the experience to back up this belief.

As Pragmatic Programmers we've tried many, many languages in our search for tools to make our lives easier, for tools to help us do our jobs better. Until now, though, we'd always been frustrated by the languages we were using.

Our job is to solve problems, not spoonfeed compilers, so we like dynamic languages that adapt to us, without arbitrary, rigid rules. We need clarity so we can communicate using our code. We value conciseness and the ability to express a requirement in code accurately and efficiently. The less code we write, the less that can go wrong. (And our wrists and fingers are thankful, too.)

We want to be as productive as possible, so we want our code to run the first time; time spent in the debugger is time stolen from the development clock. It also helps if we can try out code as we edit it; if you have to wait for a 2-hour make cycle, you may as well be using punch cards and submitting your work for batch compilation.

We want a language that works at a high level of abstraction. The higher level the language, the less time we spend translating our requirements into code.

When we discovered Ruby, we realized that we'd found what we'd been looking for. More than any other language with which we have worked, Ruby stays out of your way. You can concentrate on solving the problem at hand, instead of struggling withcompiler and language issues. That's how it can help you become a better programmer: by giving you the chance to spend your time creating solutions for your users, not for the compiler.

Ruby Sparkles

Take a true object-oriented language, such as Smalltalk. Drop the unfamiliar syntax and move to more conventional, file-based source code. Now add in a good measure of the flexibility and convenience of languages such as Python and Perl.

You end up with Ruby.

OO aficionados will find much to like in Ruby: things such as pure object orientation (everything's an object), metaclasses, closures, iterators, and ubiquitous heterogeneous collections. Smalltalk users will feel right at home (and C and Java users will feel jealous).

At the same time, Perl and Python wizards will find many of their favorite features: full regular expression support, tight integration with the underlying operating system, convenient shortcuts, and dynamic evaluation.

Ruby is easy to learn. Everyday tasks are simple to code, and once you've done them, they are easy to maintain and grow. Apparently difficult things often turn out not to have been difficult after all. Ruby follows the Principle of Least Surprise—-things work the way you would expect them to, with very few special cases or exceptions. And that really does make a difference when you're programming. We call Ruby a transparent language. By that we mean that Ruby doesn't obscure the solutions you write behind lots of syntax and the need to churn out reams of support code just to get simple things done. With Ruby you write programs close to the problem domain. Rather than constantly mapping your ideas and designs down to the pedestrian level of most languages, with Ruby you'll find you can express them directly and express them elegantly. This means you code faster. It also means your programs stay readable and maintainable.

Using Ruby, we are constantly amazed at how much code we can write in one sitting, code that works the first time. There are very few syntax errors, no type violations, and far fewer bugs than usual. This makes sense: there's less to get wrong. No bothersome semicolons to type mechanically at the end of each line. No troublesome type declarations to keep in sync (especially in separate files). No unnecessary words just to keep the compiler happy. No error-prone framework code.

So why learn Ruby? Because we think it will help you program better. It will help you to focus on the problem at hand, with fewer distractions. It will make your life easier.

What Kind of Language Is Ruby?

In the old days, the distinction between languages was simple: they were either compiled, like C or Fortran, or interpreted, like BASIC. Compiled languages gave you speed and low-level access; interpreted languages were higher-level but slower.

Times change, and things aren't that simple anymore. Some language designers have taken to calling their creations ''scripting languages.'' By this, we guess they mean that their languages are interpreted and can be used to replace batch files and shell scripts, orchestrating the behavior of other programs and the underlying operating system. Perl, TCL, and Python have all been called scripting languages. What exactly is a scripting language? Frankly we don't know if it's a distinction worth making. In Ruby, you can access all the underlying operating system features. You can do the same stuff in Ruby that you can in Perl or Python, and you can do it more cleanly. But Ruby is fundamentally different. It is a true programming language, too, with strong theoretical roots and an elegant, lightweight syntax. You could hack together a mess of ''scripts'' with Ruby, but you probably won't. Instead, you'll be more inclined to engineer a solution, to produce a program than is easy to understand, simple to maintain, and a piece of cake to extend and reuse in the future. Although we have used Ruby for scripting jobs, most of the time we use it as a general-purpose programming language. We've used it to write GUI applications and middle-tier server processes, and we're using it to format large parts of this book. Others have used it for managing server machines and databases. Ruby is serving Web pages, interfacing to databases and generating dynamic content. People are writing artificial intelligence and machine learning programs in Ruby, and at least one person is using it to investigate natural evolution. Ruby's finding a home as a vehicle for exploratory mathematics. And people all over the world are using it as a way of gluing together all their different applications. It truly is a great language for producing solutions in a wide variety of problem domains.

Is Ruby for Me?

Ruby is not the universal panacea for programmers' problems. There will always be times when you'll need a particular language: the environment may dictate it, you may have special libraries you need, performance concerns, or simply an issue with training. We haven't given up languages such as Java and C entirely (although there are times when we wish we could).

However, Ruby is probably more applicable than you might think. It is easy to extend, both from within the language and by linking in third-party libraries. It is portable across a number of platforms. It's relatively lightweight and consumes only modest system resources. And it's easy to learn; we've known people who've put Ruby code into production systems within a day of picking up drafts of this book. We've used Ruby to implement parts of an X11 window manager, a task that's normally considered severe C coding. Ruby excelled, and helped us write code in hours that would otherwise have taken days.

Once you get comfortable with Ruby, we think you'll keep coming back to it as your language of choice.

Why Did We Write This Book?

So we'd just finished writing The Pragmatic Programmer, our families had just started talking to us again, and suddenly we felt the need to write another book. Why? We guess it comes down to a kind of missionary zeal.

Ruby was created by Yukihiro Matsumoto (Matz) in Japan. Since 1995, its popularity in Japan has grown at an astounding rate; there are rumors that Ruby is more popular than Python in Japan. But to date, much of the detailed Ruby documentation is in Japanese. It probably isn't a programming language you'd just stumble across.

We wanted to spread the word, to have more people outside Japan using Ruby and enjoying the benefits, so we decided to document Ruby in English. And what started out as a small project just sort of grew....

Ruby Versions

This book documents Version 1.6 of Ruby, which was released in September 2000.

Ruby version numbering follows the same scheme used for many other open source projects. Releases with even subversion numbers (1.0, 1.2, 1.4, and so on) are stable, public releases. These are the releases that are prepackaged and made available on the various Ruby Web sites.

Development versions of the software have odd subversion numbers, such as 1.1 and 1.3. These you'll have to download and build for yourself.



Read More Show Less

Table of Contents

Foreword
Preface
1 Roadmap 1
2 Ruby.New 5
3 Classes, Objects, and Variables 19
4 Containers, Blocks, and Iterators 35
5 Standard Types 49
6 More About Methods 67
7 Expressions 73
8 Exceptions, Catch, and Throw 91
9 Modules 99
10 Basic Input and Output 107
11 Threads and Processes 113
12 When Trouble Strikes 125
13 Ruby and Its World 137
14 Ruby and the Web 145
15 Ruby Tk 153
16 Ruby and Microsoft Windows 165
17 Extending Ruby 171
18 The Ruby Language 201
19 Classes and Objects 241
20 Locking Ruby in the Safe 257
21 Reflection, ObjectSpace, and Distributed Ruby 263
22 Built-in Classes 279
23 Built-in Modules 405
24 Standard Library 441
25 Object-Oriented Design Libraries 467
26 Network and Web Libraries 473
27 Microsoft Windows Support 509
App. A Embedded Documentation 517
App. B Interactive Ruby Shell 523
App. C Support 531
App. D Bibliography 535
Index 537
Read More Show Less

Preface

This book is a tutorial and reference for the Ruby programming language. Use Ruby, and you'll write better code, be more productive, and enjoy programming more.

These are bold claims, but we think that after reading this book you'll agree with them. And we have the experience to back up this belief.

As Pragmatic Programmers we've tried many, many languages in our search for tools to make our lives easier, for tools to help us do our jobs better. Until now, though, we'd always been frustrated by the languages we were using.

Our job is to solve problems, not spoonfeed compilers, so we like dynamic languages that adapt to us, without arbitrary, rigid rules. We need clarity so we can communicate using our code. We value conciseness and the ability to express a requirement in code accurately and efficiently. The less code we write, the less that can go wrong. (And our wrists and fingers are thankful, too.)

We want to be as productive as possible, so we want our code to run the first time; time spent in the debugger is time stolen from the development clock. It also helps if we can try out code as we edit it; if you have to wait for a 2-hour make cycle, you may as well be using punch cards and submitting your work for batch compilation.

We want a language that works at a high level of abstraction. The higher level the language, the less time we spend translating our requirements into code.

When we discovered Ruby, we realized that we'd found what we'd been looking for. More than any other language with which we have worked, Ruby stays out of your way. You can concentrate on solving the problem at hand, instead of strugglingwith compiler and language issues. That's how it can help you become a better programmer: by giving you the chance to spend your time creating solutions for your users, not for the compiler.

Ruby Sparkles

Take a true object-oriented language, such as Smalltalk. Drop the unfamiliar syntax and move to more conventional, file-based source code. Now add in a good measure of the flexibility and convenience of languages such as Python and Perl.

You end up with Ruby.

OO aficionados will find much to like in Ruby: things such as pure object orientation (everything's an object), metaclasses, closures, iterators, and ubiquitous heterogeneous collections. Smalltalk users will feel right at home (and C++ and Java users will feel jealous).

At the same time, Perl and Python wizards will find many of their favorite features: full regular expression support, tight integration with the underlying operating system, convenient shortcuts, and dynamic evaluation.

Ruby is easy to learn. Everyday tasks are simple to code, and once you've done them, they are easy to maintain and grow. Apparently difficult things often turn out not to have been difficult after all. Ruby follows the Principle of Least Surprise—-things work the way you would expect them to, with very few special cases or exceptions. And that really does make a difference when you're programming. We call Ruby a transparent language. By that we mean that Ruby doesn't obscure the solutions you write behind lots of syntax and the need to churn out reams of support code just to get simple things done. With Ruby you write programs close to the problem domain. Rather than constantly mapping your ideas and designs down to the pedestrian level of most languages, with Ruby you'll find you can express them directly and express them elegantly. This means you code faster. It also means your programs stay readable and maintainable.

Using Ruby, we are constantly amazed at how much code we can write in one sitting, code that works the first time. There are very few syntax errors, no type violations, and far fewer bugs than usual. This makes sense: there's less to get wrong. No bothersome semicolons to type mechanically at the end of each line. No troublesome type declarations to keep in sync (especially in separate files). No unnecessary words just to keep the compiler happy. No error-prone framework code.

So why learn Ruby? Because we think it will help you program better. It will help you to focus on the problem at hand, with fewer distractions. It will make your life easier.

What Kind of Language Is Ruby?

In the old days, the distinction between languages was simple: they were either compiled, like C or Fortran, or interpreted, like BASIC. Compiled languages gave you speed and low-level access; interpreted languages were higher-level but slower.

Times change, and things aren't that simple anymore. Some language designers have taken to calling their creations ''scripting languages.'' By this, we guess they mean that their languages are interpreted and can be used to replace batch files and shell scripts, orchestrating the behavior of other programs and the underlying operating system. Perl, TCL, and Python have all been called scripting languages. What exactly is a scripting language? Frankly we don't know if it's a distinction worth making. In Ruby, you can access all the underlying operating system features. You can do the same stuff in Ruby that you can in Perl or Python, and you can do it more cleanly. But Ruby is fundamentally different. It is a true programming language, too, with strong theoretical roots and an elegant, lightweight syntax. You could hack together a mess of ''scripts'' with Ruby, but you probably won't. Instead, you'll be more inclined to engineer a solution, to produce a program than is easy to understand, simple to maintain, and a piece of cake to extend and reuse in the future. Although we have used Ruby for scripting jobs, most of the time we use it as a general-purpose programming language. We've used it to write GUI applications and middle-tier server processes, and we're using it to format large parts of this book. Others have used it for managing server machines and databases. Ruby is serving Web pages, interfacing to databases and generating dynamic content. People are writing artificial intelligence and machine learning programs in Ruby, and at least one person is using it to investigate natural evolution. Ruby's finding a home as a vehicle for exploratory mathematics. And people all over the world are using it as a way of gluing together all their different applications. It truly is a great language for producing solutions in a wide variety of problem domains.

Is Ruby for Me?

Ruby is not the universal panacea for programmers' problems. There will always be times when you'll need a particular language: the environment may dictate it, you may have special libraries you need, performance concerns, or simply an issue with training. We haven't given up languages such as Java and C++ entirely (although there are times when we wish we could).

However, Ruby is probably more applicable than you might think. It is easy to extend, both from within the language and by linking in third-party libraries. It is portable across a number of platforms. It's relatively lightweight and consumes only modest system resources. And it's easy to learn; we've known people who've put Ruby code into production systems within a day of picking up drafts of this book. We've used Ruby to implement parts of an X11 window manager, a task that's normally considered severe C coding. Ruby excelled, and helped us write code in hours that would otherwise have taken days.

Once you get comfortable with Ruby, we think you'll keep coming back to it as your language of choice.

Why Did We Write This Book?

So we'd just finished writing The Pragmatic Programmer, our families had just started talking to us again, and suddenly we felt the need to write another book. Why? We guess it comes down to a kind of missionary zeal.

Ruby was created by Yukihiro Matsumoto (Matz) in Japan. Since 1995, its popularity in Japan has grown at an astounding rate; there are rumors that Ruby is more popular than Python in Japan. But to date, much of the detailed Ruby documentation is in Japanese. It probably isn't a programming language you'd just stumble across.

We wanted to spread the word, to have more people outside Japan using Ruby and enjoying the benefits, so we decided to document Ruby in English. And what started out as a small project just sort of grew....

Ruby Versions

This book documents Version 1.6 of Ruby, which was released in September 2000.

Ruby version numbering follows the same scheme used for many other open source projects. Releases with even subversion numbers (1.0, 1.2, 1.4, and so on) are stable, public releases. These are the releases that are prepackaged and made available on the various Ruby Web sites.

Development versions of the software have odd subversion numbers, such as 1.1 and 1.3. These you'll have to download and build for yourself.



Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star

(0)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 4 Customer Reviews
  • Anonymous

    Posted November 12, 2006

    Excellent Book, if a Little Lacking in Parts

    I found this book to be very well written and concise, though clearly intended for someone with some level of prior programming experience. My only real complaint is that some of the chapters, while covering a wide amount of material, seem to be lacking in depth. Aside from that, however, I found this book to be more than adequate to give a solid a foundation in Ruby, and after it serves as an extremely useful reference for the classes and modules that are built-in to Ruby. All in all, if you're interested in learning Ruby, this book should definitely be in your collection.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 25, 2005

    Great introduction to a language

    When Dave Thomas and Andy Hunt, authors of The Pragmatic Programmer, published the first edition of Programming Ruby in 2000, it was the first English language Ruby book. Ruby documentation was so scant that they had to study the source code to do it, as Ruby's author, Matz, explains in his foreword. For 2005, they revised it to cover Ruby 1.8, the latest major release. Though there are now several other Ruby books, Programming Ruby is still trying to do it all -- language tutorial, language reference, a guide to thinking in Ruby (which includes thinking in objects), and an introduction to the Ruby community's conventions. The book is broader than it is deep, but, given its breadth, that's praising with faint damns. It's not a book for a programming novice, but the language tutorial was thorough and clear. Moderately experienced programmers should have no problems with it. If you've done object-oriented and functional programming before, it'll be easy going. I was impressed by how much the book includes of what you need to actually _develop_ in Ruby -- trying code snippets in the interactive Ruby shell, debugging, watching out for Ruby's gotchas, developing a test suite, documenting (in Rdoc, a Ruby standard), packaging code into a Ruby Gem (RubyGems is Ruby's equivalent to Perl's CPAN), profiling your code to find the slow parts, and how to extend Ruby in C to speed them up. There's a brief survey of using Ruby for Web, Tk, and Win32 programming. The book's emphasis on breadth over depth is most obvious here -- 18 pages on web programming doesn't just cover CGI programming, but touches on cookies, session maintenance, two template systems for HTML generation, eruby (a means of embedding Ruby in HTML, like PHP, Mason, PSP, or the other *SPs), SOAP, WSDL, and the Google API. (Ruby on Rails is mentioned only as a framework 'currently attracting mindshare in the Ruby community.') For all their brevity, these chapters were still useful. They're a starting point for learning available tools for those problem domains. More importantly, they demonstrate the breadth of the standard library and other available packages, and provide a lesson in looking for existing solutions first. That's old hat to people used to the open source world, but it could prove invaluable to someone who wandered in from the outside. Almost half the book is a reference to the built-in classes and modules, and to the standard library. Ruby has dozens of built-in classes, each, typically, with dozens of methods, so it's no surprise that a lot of this information went unmentioned in the language tutorial. In my use of the reference so far, I've found it clear and well-organized. Perl played a part in inspiring Ruby. Likewise, it strikes me that Programming Ruby's authors probably took inspiration from Programming Perl. It's even nicknamed for its cover illustration -- the PickAxe Book. And, like the Camel Book, it goes beyond the language at hand to advance general principles of good programming: code reuse, writing for maintainability, and avoiding reinventing the wheel. And it's all written with an infectious joy in programming. My only complaint about the book is that the index is spotty in its coverage of the language tutorial chapters -- I've felt frustrated trying to find discussions of things because, too often, the index only pointed to the reference section's coverage of them. But the book left me excited about programming in Ruby, and gave me all I needed to begin. That's all I could ask from an introduction to a new language.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted January 3, 2005

    Good book

    Overall, I like this book. If you are new to Ruby, I would recommend it. The book takes you through a process (like a long tutorial). The last part of the book is strictly reference material. The bad thing is that if you are new to OOP and new to Ruby, you might find it leaves out too many details or just doesn't quite cover them in the depth you might require. I like the book. But, I think I'll have to continue to use Google to supplement it. The previous review critcized the Ruby language. In response to it, I will say that Ruby is the epitomy of OOP (though maybe not quite as much as SmallTalk). I haven't used Java or Perl. So, I'm not qualified to compare those. But, so far, Ruby seems to make alot of sense to me.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted November 12, 2004

    Worth consideration

    Yet another scripting language. Originating in Japan, its inventor (Y Matsumoto) claims that it is more powerful than Perl and more object oriented than Python. Somehow, I imagine proponents of those languages might vociferously disagree. In any event, Thomas does a nice job of documenting Ruby, for the benefit of a newcomer. A key strength of Ruby seems to be what it calls containers, blocks and iterators. This includes a nice ability to have hash tables. Certainly, you have more to start with than in a bare bones language like C. Veterans of Java will recognise and appreciate this native Ruby functionality. The importance of these functions can be seen in the unusual order in which they appear in the book. Thomas discusses these in a chapter that precedes talking about mundane and simpler things like the standard variable types, operators and loops. Most texts of any language would reverse the order. Overall, I am ambivalent about Ruby. Not so much because I disagree with what Thomas says, as simply because I'm quite comfortable in Java. Nonetheless, if you are casting around for a strong OO scripting language, Ruby might be worth consideration.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 4 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)