No Starch Press, 2007. – 281 p.
This book tries to be both useful in the immediate term and informative in the long term. These goals have a profound impact on how the book is organized.
It's also meant to be accessible to neophytes, but it focuses on programming paradigms and their impact on both language design and language use — topics common to academic programming books. These days, you can use any popular language for most tasks, but that doesn’t mean that solving a given problem will be equally painless in every language. No language exists in a vacuum, and a discussion of a language like Ruby should acknowledge the decisions that went into its design. You’ll find that it’s a very flexible language that lets you combine different approaches in powerful ways. Biologists recognize hybrid vigor; so did Matz when he created Ruby.
Summary of Chapters
Here’s a bit about what you’ll find inside the chapters:
Chapter 1: Interactive Ruby and the Ruby Environment
This chapter describes Interactive Ruby (irb), and also introduces some key Ruby concepts.
Chapter 2: Amusements and Simple Utilities
This chapter has our first stand-alone programs (or scripts) that continue introducing key Ruby concepts while accomplishing simple tasks.
Chapter 3: Programmer Utilities
This chapter contains tools that are useful for developers in the form of library files intended to be used by other programs.
Chapter 4: Text Manipulation
This chapter focuses on processing text.
Chapter 5: Number Utilities
This chapter focuses on primarily numeric data, including pure math and moving into recursion.
Chapter 6: Functionalism with Blocks and Procs
This chapter puts a heavy emphasis on functional programming, hinted at in earlier chapters.
Chapter 7: Using, Optimizing, and Testing Functional Techniques
This chapter details testing, profiling, and optimizing your programs.
Chapter 8: HTML and XML Tools
This chapter has a subset of text processing specifically meant for markup, like HTML and XML.
Chapters 9 and 10: More Complex Utilities and Tricks, Parts I and II
These chapters both expand the scale of our programs using techniques introduced earlier in the book to tackle larger problems.
Chapter 11: CGI and the Web
This chapter talks about the Common Gateway Interface (CGI) and how to embed Ruby code in web documents.
Chapter 12: RubyGems and Rails Preparation
This chapter shows you how to use RubyGems, Ruby's package manager, and uses that system to install Rails, Ruby's main web development framework.
Chapter 13: A Simple Rails Project
This chapter contains a sample Rails application, using it to discuss key design issues useful for any Rails developer.