Amazon.com: Programming Ruby: A Pragmatic Programmer's Guide (0978342710898): David Thomas, Andrew Hunt, Dave Thomas: Books

Have one to sell? Sell yours here
Programming Ruby: A Pragmatic Programmer's Guide
 
See larger image
 
Tell the Publisher!
I'd like to read this book on Kindle

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Programming Ruby: A Pragmatic Programmer's Guide [Paperback]

David Thomas (Author), Andrew Hunt (Author), Dave Thomas (Author)
4.7 out of 5 stars  See all reviews (28 customer reviews)


Available from these sellers.


Formats

Amazon Price New from Used from
Hardcover --  
Paperback --  
There is a newer edition of this item:
Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby) Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby) 4.5 out of 5 stars (13)
$30.69
In Stock.

Book Description

December 15, 2000
Ruby, a new, object-oriented scripting language, has won over thousands of Perl and Python programmers in Japan -- and it's now launching worldwide. This is the world's first English-language developer's guide to Ruby. Written by the two leading Ruby developers, Programming Ruby demonstrates Ruby's compelling advantages, and serves as a start-to-finish tutorial and reference for every developer. The authors introduce all of Ruby's basics, including classes, objects, variables, container, iterators, types, methods, expressions, modules, I/O, and threads. You'll master Ruby development for the Web, including CGI scripts and embedding Ruby in HTML; learn how to create GUI-based Ruby applications with TK; and discover techniques for integrating Ruby with Windows. Programming Ruby shows how to extend Ruby in C, and presents in-depth coverage of advanced features. Numerous fully functional code examples are included. The book contains an alphabetical reference to Ruby 1.6 -- the latest version -- documenting over 800 methods, 40 built-in classes, and many useful library modules.

Customers Who Bought This Item Also Bought


Editorial Reviews

From the Author

Other books by the Pragmatic Programmers:
* Pragmatic Project Automation (0974514039)
* Pragmatic Unit Testing in C# with Nunit (0974514020)
* Pragmatic Unit testing in Java with Junit (0974514012)
* Pragmatic Version Control Using CVS (0974514004)
* Programming Ruby 2nd Edition (0974514055)

From the Inside Flap

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 with 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.

0201710897P04062001


Product Details

  • Paperback: 608 pages
  • Publisher: Addison-Wesley Professional; 1st edition (December 15, 2000)
  • Language: English
  • ISBN-10: 0201710897
  • ISBN-13: 978-0201710892
  • Product Dimensions: 9.2 x 7.5 x 0.8 inches
  • Shipping Weight: 2 pounds
  • Average Customer Review: 4.7 out of 5 stars  See all reviews (28 customer reviews)
  • Amazon Best Sellers Rank: #1,951,109 in Books (See Top 100 in Books)

More About the Authors

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

28 Reviews
5 star:
 (20)
4 star:
 (7)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.7 out of 5 stars (28 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

30 of 32 people found the following review helpful:
5.0 out of 5 stars Very high quality book with lots of details and examples, November 4, 2000
This review is from: Programming Ruby: A Pragmatic Programmer's Guide (Paperback)
I'm very new to Ruby, but I find learning new programming languages fun and challenging. I like to dig in as quickly as possible, using what examples I can find to show me how the language works, and reading the documentation when I have to. After getting a feel for the language, I start reading the books. I don't start with books, usually, because they're often not geared for a programmer learning a second language.

But I found Programming Ruby to be an excellent starting point -- it provides the quick-start help I need by giving numerous and well thought-out examples both in the body of the text and in the reference section (see below).

The chapters are well arranged (and even include information on distributed Ruby on page 272, often where most texts just start talking about file I/O!), with the first 276 pages devoted to an introduction to the language. The last 250-or-so pages contain an excellent library reference, alphabetically arranged.

The devil is in the details, though. And here, AW put a lot of thought into the finer points. The type is clear; the typographic conventions are standard and, if you've used any other typical programmer's text, easy to follow. So far, this is what you'd expect from any good computer title. In addition, however, they have added an easy-to-use thumbtab system for the alphabetical arrangement of the reference section, so finding a particular entry is quick and easy. Each entry in the reference section is clearly laid out with a class hierarchy (including super- and subclasses), parameters, description, "Mixes in" and a list of all class methods (most (if not all) with examples and output. All well-designed not only for the experienced Ruby programmer but also for the novice.

The index is thorough, with helpful vertical lines between the columns, and the reference section entry is identified by bold page numbers.

All in all, I would highly recommend this book for new Ruby programmers. There are still a number of things I don't understand about Ruby, but this book is an excellent place to start. It sets the bar very high for future books on this new and exciting programming language.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


18 of 18 people found the following review helpful:
5.0 out of 5 stars Among the best books on the art of programming, February 24, 2001
By 
Dennis Decker Jensen (Denmark, Scandinavia) - See all my reviews
This review is from: Programming Ruby: A Pragmatic Programmer's Guide (Paperback)
I haven't read a book so well arranged and well written in many years! The book is now regarded the official (US) english reference on Ruby version 1.6

The pick-axe book as it is called among the ruby-fans (because of the front cover) is very well suited to beginners as well as experts. It's driven by examples that gives you a extremely good feeling of the power of Ruby. It's fun to read and excels in its unusual but still very gentle learning curve. You'll be finished with the basics of file-handling, I/O, GUI and Threads within the first quarter of the book!

The book is divided into four parts: A tutorial for newbies, a practical part on Ruby in its setting, a crystallized part with all the advanced and gory details of Ruby (for the experts), and finally the Ruby Library and Standard Library Reference. The reference is very well arranged and easy to navigate in to say at the least. You'll very quickly find yourself jumping around in the book - revisiting cool examples and trying things out for yourself.

You'll pick up Ruby in a number of few days. If you're in doubt go and have a look at www.rubycentral.com where you will find excerpts of chapters from the book, FAQ, links, articles, code snippets, etc. arranged as well as the book :-) I hear there's even been put up an on-line tutorial if you want to try Ruby out right away.

Comming from a background of C, C++, Java and Python I've found the language Ruby to beat them all. I didn't think I would need to learn another language, but with Ruby I was positively surprised.

Most of the time programming Ruby feels like designing directly in a language that supports the way you think about the problems at hand!

So what is Ruby? Here is a little shortcut list for those in a hurry: Easy to learn, high level of abstraction, interpreted, true OO, file-based source code, flexibility, convenience, metaclasses, closures/blocks, iterators, collections, mixins, continuations, threads, regular expressions, modules for patterns support, transparency, dynamic typed, easy to extend (even easier than Python), portability, light weight, easy to embed, modest in use of system resorces, but most importantly: Fun and joyful!

And thats just the surface. E.g. the authors have even used Ruby to implent parts of an X11 window manager.

It's almost as close as SmallTalk in being pure OO, while you still can make procedural programs if you want to. The simple, clean and concise syntax competes with and wins over the syntax of Python many times. It has the power of C++ while leaving out the details, that slows your development-speed down. You need less code-lines than in Java, but without the loss of clarity or readability. Many Perl-programmers or sys-admins have been shifting to Ruby because of its greater readability while still being just as expressive and powerful.

I could go on, but take a short look at www.rubycentral.com and see for yourself. Ruby's worth it.

Dennis Decker Jensen

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


11 of 12 people found the following review helpful:
5.0 out of 5 stars A excellent introduction and beginner's reference, November 19, 2000
By 
QuinnC (Ann Arbor, MI USA) - See all my reviews
This review is from: Programming Ruby: A Pragmatic Programmer's Guide (Paperback)
This book is an excellent into to a very easy to use language. Ruby is much more OO than any language except Smalltalk and is much better integrated with standard UNIX/POSIX than that language. Now all we need is a reference for all the libraries and a book on XP/Rapid Development using Ruby (and the latter is what the current authors say they're working on next, although they don't explicitly mention XP that I noticed).

I give this book my highest recommendation, it is one of the best books I have read of its type (language intro). As for Ruby, if you are thinking about learning a language and want to do OO for anything except systems and embedded programming, then this is the language to look at. (for systems and embedded, OO is probably not a good idea in most cases anyhow... object-based is about the highest you'd want to go.)

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews











Only search this product's reviews



What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(3)

Your tags: Add your first tag
 

Sell a Digital Version of This Book in the Kindle Store

If you are a publisher or author and hold the digital rights to a book, you can sell a digital version of it in our Kindle Store. Learn more

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 

Search Customer Discussions
Search all Amazon discussions
   



So You'd Like to...


Create a guide


Look for Similar Items by Category


Look for Similar Items by Subject