Good

  • Takes a project right from start to finish
  • Agile/small team approach - design a feature, implement, repeat
  • Covers popular subjects: social networking, google maps, microformats
  • Shows effective use of plugins
  • Testing made part of the development process from the beginning

Not so good

  • Unfortunately based on Rails 1.2 which means that a fair amount of the url helpers wont work on the latest release of Rails
  • It would have been great to see test-driven development - books can inspire cultural change

Overall

Despite being pitched as more advanced on the 'Apress Roadmap', this book would equally appeal to people new to Rails and those with a bit more experience. It's 'real-world' project approach makes the learning much more relevant - a must for motivation.

Rating: 8/10

Book: Beginning Ruby

May 18th, 2007

Beginning Ruby by Peter Cooper

Even with a language like Ruby, teaching complete novices how to program is no mean feat. Peter Cooper's new book 'Beginning Ruby' attempts to take the complete beginner through being a competent programmer.

Rating 8/10

Review

The cover says 'Beginning Ruby' aims to take you from 'Novice to Professional' and the book achieves to a good extent. At the beginning it assumes little or no prior programming experience. This is a good thing - it's what Cooper set out to achieve, but occasionally it feels like the explanations are slightly rushed. I found myself wondering if they only made sense because I already understand these concepts. This is a minor point though as there is a lot of ground to cover. The learning curve is sharp and we're soon dealing with more in-depth parts of Ruby programming.

Throughout the book new concepts are introduced and followed by fun applications to put the theory into practice. irb is introduced straight away which is a great way for the reader to get stuck in. There is a 'dungeons & dragons'-style app explaining object orientation and later on, an automated 'bot' that you can talk to if you're feeling lonely.

One of my favourite chapters talks about the Ruby 'Eco-system'. This is such a great subject to cover as it's so key to the appeal of Ruby. We have a really active, enthusiastic and above all friendly community and it's worth welcoming new programers. The chapter covers the history of Ruby, the community and how to become a part of it.

Other useful parts of note are a chapter running over useful gems and how to use them, a primer for experienced developers to learn Ruby syntax and concepts quickly and of course no Ruby book is complete without a chapter on Rails. It's not the greatest text I've seen on Rails but it does give a good overview that will get beginners started.

Overall, I would recommend this to beginners or those new to Ruby. It covers enough to satisfy more experienced programmers without being too detailed for newbies. As Cooper said himself, the pickaxe is a must on a Ruby programmer's bookshelf, but it's not exactly accessible for those starting out.

Oh it's also worth mentioning that a forward why the lucky stiff is a great way to start a book.

Beginning Ruby is available from Amazon.

There's no stopping Geoffrey Grosenbach.

Last week I got the latest Peepcode Screencast on Javascript with Prototype.js. Awesome. Just awesome.

I bought the TFD screencast (which I think was the first) and I was very impressed with the production quality then. The latest offering is even better.

The content itself is very well explained and goes into great detail covering a huge area of the subject. Javascript has always been the part of web development that I disliked. Prototype helped hugely to make it easy to work with, but this screencast has really made me look at javascript in a new light and give up the 'cut' and 'paste' style of old.

In particular the section about Behaviours has finally helped me to understand why and how I can use unobtrusive javascript, just like Dan Webb has been telling us to for ages.

All that and more - it's an hour and a half long. And for £4.50 ($9) there really is no excuse.