I'll +1 on the suggestions to go for Ruby for Rails, Agile Web Development with Rails 2nd Ed, and Programming Ruby 2nd Ed. They all fill different niches, and I'm a book person. On 15 Oct 2006, at 11:18, Kyrre NygéÓd wrote: > So anyway, how come nobody mentioned O'Reilly? > I thought they were good at it! The Pragmatic books have some sort of link in with O'Reilly, so O'Reilly get credit by default. Having said that, O'Reilly have slid down a long way from the near perfection of their early books, pre- perfect binding. Now they're just good, but publish the odd lemon. On 15 Oct 2006, at 15:26, Hal Fulton wrote: > There's also a second edition of _The Ruby Way_ coming out > in a week or two. Some people like it. It's on my wish list, Hal. On 15 Oct 2006, at 17:03, David Vallner wrote: > Hal Fulton wrote: >> I also recommend _Refactoring_ and _Design Patterns_ and >> _The Pragmatic Programmer_. > > Along those lines, avoid "Head First", a little too detractingly silly > for me. And "Code Complete" could be a possible alternative / > complement > to The Pragmatic Programmer. (Warning, C++ and its -isms inside. Very > down-to-earth and universally applicable book otherwise, especially > for > making "real-world" software.) I feel just as uncomfortable with the Head First books - although some people seem to find them useful, and I always recommend students to review them. Too much ADD teen talk for me. Refactoring is important to read and understand. 'Design Patterns', however, have always felt to me like restating the obvious, and far too tied in to C++ to be of much use outside; there is a feeling that, in an ideal language, every case in Design Patterns would be a trivial part of the language. Ruby makes a good example for that argument. I am also uncomfortable with Code Complete, although I find it hard to express why - and it could just be the Microsoft association. I view The Pragmatic Programmer as the junior introduction to The Practice of Programming; pick one or both, according to your level. Sticking with software engineering, you need some background on version control (Subversion), possibly the Pragmatic book, and read up on Test Driven Development; possibly the Pragmatic book as well, although they don't do one specific to Ruby. Paul