Getting started with Ruby
What Ruby lacks more than anything is good starting points for getting into the language. There's a bunch of absolutely excellent resources out there, though. I've attempted to summarize the best of them by category.
Language (latest release by time of writing: 1.8.1)
- All: Source release for any platform
- Windows: Ruby Installer for Windows
- OS X: Pre-compiled disk image for OS X
Reference documentation
- Ruby Core Library: Complete methods listing and explanation for all the built-in Ruby classes, such as strings, hashes, and IO. Only covers 1.6.8 — supplement with What's New in Ruby 1.8.
- Ruby Standard Library: Ruby ships with about a hundred standard libraries. They're all documented in varying degree and collected in one easy bundle with this site.
Guides and books for programmers
- Ruby in Highlights: An introduction to Ruby by its creator Matz. Excellent for a quick overview and feel of the language.
- Programming Ruby: A thorough introduction and guide to Ruby for programmers written by the Pragmatic Programmers duo. Available in full-length form for free!
- The Ruby Way: Includes more advanced Ruby topics including an especially excellent chapter on OOP and Dynamicity in Ruby. Requires a Safari membership, though.
- Ruby Garden Wiki: Tons of great information about Ruby, such as OS X gotchas and Ruby usage in real life (convince your boss by name-dropping NASA, Lucent, and HP)
Guides for non-programmers
- Why’s (Poignant) Guide to Ruby: Hilarious and very aparte introduction to programming with Ruby — complete with cartoon series.
- Learn to Program: A thorough introduction to programming in general using Ruby as the learning language.
Ruby bloggers
- Chad Fowler (RubyGems), Rich Kilmer (RubyGems, Jabber4r), Dave Thomas (Pragmatic Programmers), Jim Weirich (Rake), Why (Poignant guide, YAML, RedCloth)
- Artima's Ruby Buzz Forum: Aggregated feed for a lot of Ruby bloggers.
Library & Applications Repositories
- Ruby Application Archive: More than a thousand projects across 200 categories. Nothing like learning about Ruby than reading lots of Ruby code.
- RubyForge: Hosts close to two hundred Ruby projects with CVS repositories and project management features. The place to publish your projects.
My favorite packages outside of the standard library
- Rake: Ant/make replacement for building and packaging projects. (See also the usage presentation)
- Log4r: Comprehensive logging package for needs that go beyond the simple Logger class in the standard library.
- DBI: Database abstraction layer. Run the same code on everything from MySQL and PostgreSQL to Oracle and DB2.
- MySQL: Native library for accessing MySQL through Ruby.
- FlexMock: Simple mock object for unit testing.
- RMagick: Wrapper for ImageMagick that makes image composition and altering a walk in the park.
- Madeleine: Object prevaylence port.