Author: Shay Friedman
Publisher: Sams, 2010
IronRuby is the .NET implementation of Ruby and to make use of it you really only need to know how to program in Ruby and enough about .NET to appreciate its interoperability with these existing technologies.
Aimed at: Existing .NET or Ruby programmers
Pros: Good coverage of .NET technologies
Cons:Not so strong on what makes Ruby special
Reviewed by: Ian Elliot
As such this book is just another introduction to programming in Ruby but with some .NET thrown in. It starts out by explaining what Ruby is all about and how to download and install IronRuby. There is a brief run down on the main IronRuby development environments but not enough information to help you make a decision about which one you should use.
It then moves on to introduce the Ruby language. This is a reasonably good introduction but it certainly isn't for the beginner - you really need to know another programming language to follow the descriptions. For me it didn't really bring out the aspects of the language that make Ruby special - iterators, yield, blocks, mixins, lambdas. They are all covered adequately but you might miss how important they are. Towards the end of this first section we have some discussion of advanced Ruby where this is interpreted as threading, file handling, reflection and some design patterns.
The second part of the book focuses on the .NET aspects of IronRuby - mostly interoperation with existing .NET classes. This is where IronRuby is different from just using Ruby. In the penultimate part the book moves on to consider IronRuby in the wider .NET and Windows context. Topics covered include using SQL server, Windows Forms, WPF, Ruby on Rails, ASP .NET MVC and Silverlight.
This section closes with a look at testing and using IronRuby from other .NET languages - C#/VB. Large chunks of this section of the book are fairly straightforward descriptions of the .NET technologies with only minor mentions of Ruby. For example, the WPF and Silverlight chapters have lots of XAML listings. The final part of the book considers topics in Advanced IronRuby which is mostly about extending IronRuby.
If you are new to Ruby but know .NET then you might find an alternative introduction to Ruby better suited to get you started and give you the flavour of Ruby. On the other hand if you know Ruby then the summaries of the .NET technologies and the way that IronRuby interoperates with .NET contained in this book is probably the quickest way for you to get up to speed.
The conclusion has to be that this is a well written guide to IronRuby but not one suited to the complete beginner. Its coverage of .NET and its interaction with Ruby is stronger than its coverage of Ruby itself.