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