small medium large xlarge

Programming Ruby 2.0

February 24, 2013

It was twenty years ago today that Yukihiro Matsumoto, a.k.a “Matz,” first got the wild notion to create a new programming language. Since then, Ruby has grown to a worldwide, top-ten language powerhouse, fueling Ruby On Rails and countless other frameworks and projects.

Our Programming Ruby, affectionately known as the “PickAxe book,” was the very first English-language book documenting this new language back at the turn of the century.

Now in its fourth edition, Programming Ruby 1.9 & 2.0 is up-to-date with the latest 2.0 features, including keyword arguments, lazy enumerators, and refinements.

If you purchased the previous edition, Programming Ruby 1.9, directly from prior to February 24, 2013, you’ll notice that we’ve put a coupon for free upgrade to the new Programming Ruby 1.9 & 2.0 ebook in your account.

Just log on to and place an order for the new edition, your coupon will be applied to the ebook automatically (if it’s not, be sure you’re logged in under the same email address with which you purchased the previous edition).

Offer expires May 1, 2013

Programming Ruby 1.9 & 2.0

Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way, instead of getting the work done? Are you using Rails, and want to dig deeper into the underlying Ruby language? If so, then we’ve got a language and book for you!

Ruby is a fully object-oriented language, much like the classic object-oriented language, Smalltalk. Like Smalltalk, it is dynamically typed (as opposed to Java or C++), but unlike Smalltalk, Ruby features the same conveniences found in modern scripting languages such as Perl and Python.

The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of intelligent, forward-thinking programmers.

The Pickaxe contains four major sections:

  • An acclaimed tutorial on using Ruby.
  • The definitive reference to the language.
  • Complete documentation of all built-in classes, modules, and methods.
  • Complete descriptions of all 97 standard libraries.

This is the reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including all the new and changed methods introduced by Ruby 1.9, 1.9.2, 1.9.3, and 2.0). It also includes all the new and changed syntax and semantics introduced since Ruby 1.8. Learn about the new parameter passing rules, local variable scoping in blocks, fibers, and the new block declaration syntax, among other exciting new features.

About Ruby 2.0

Ruby 2.0 is a minor update to Ruby 1.9, unlike the more major updates from Ruby 1.8 to Ruby 1.9.

The major language changes in Ruby 2.0 are the addition of keyword arguments and the change to use UTF-8 as the default source file encoding.

There are a number of additions to the standard library, including:

  • Enumerator::Lazy, which adds support for lazy access to potentially infinite lists.
  • Refinements allow you to encapsulate changes to third-party classes, and scope their application to individual source files, preventing your changes from polluting the global application.

All told, there are over 110 sections of the book that have been flagged and cross-linked to indicate 2.0 content.

Now available from

Don’t Get Left Out

Are your friends jealous that you get these spiffy email newsletters and they don’t? Clue them in that all they need to do is create an account on (email address and password is all it takes) and select the checkbox to receive newsletters.

Are you following us on Twitter and/or Facebook? Here’s where you can find us and keep up with the latest news and commentary, and occasional discounts.

Coming Soon:

  • Practical Programming, 2nd Ed. in beta
  • Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions in beta
  • TDD for C++ Programmers in beta

Recently Released:

  • Explore It! [in print]
  • 101 Design Ingredients to Solve Big Tech Problems [in beta]
  • Cucumber Recipes [in print]
  • 3D Game Programming for Kids [in beta]
  • Thanks for your continued support,

    Andy & Dave

    Books • eBooks • Screencasts • PragPub Magazine