This post was migrated from Justin’s personal blog, 'Codethinked.com.' Views, opinions, and colorful expressions should be taken in context, and do not necessarily represent those of Simple Thread (and were written under the influence of dangerous levels of caffeination).
As many of you may or may not know, I was the technical editor on Shay Friedman’s book "IronRuby Unleashed". I am a huge fan of the Ruby language, and as you probably have guessed, I am also a big fan of the CLR. So when I found out that they were bringing the Ruby language over to the CLR, I was absolutely ecstatic. I spent quite a bit of time with IronRuby, leveraging it for little utilities, exploring a bit, and I even wrote up a fairly popular blog post series about using IronRuby. I was approached about the potential of writing the IronRuby Unleashed book for Sams, but I felt under qualified and way too busy to try to write an entire book on IronRuby. Now that I have the book in my hands, I can firmly say that I was definitely under qualified to write a book on IronRuby. I was amazed at Shay’s depth of knowledge on a topic which is so young, as well as his thoroughness in explaining the topic. Shay was more than qualified to write this book, and you can tell that he poured his heart and soul into it.
While I may be a bit biased, I have to say that the book is great. 🙂 Shay definitely knows his IronRuby and shows it. He manages to write a book which delves into some deep technical content, but starts off high level enough that even someone who has never used Ruby could pick up the book and learn it. The book is very well organized, and starts off with a quick introduction to Ruby, the .Net Framework, and the DLR (Dynamic Language Runtime). He then immediately goes into getting IronRuby up and running on your system, along with a reference to how to use the IronRuby executable, and even how to get IronRuby to run inside some 3rd party IDEs.
In the next section Shay provides an in depth introduction to the Ruby language itself, so as not to leave out those who have never used the language before. He follows this up with some basic IronRuby interop, so that you know how to easily leverage IronRuby within your existing .NET codebase. Past this point Shay really sets off to show you how you can leverage IronRuby within almost all aspects of .NET development. From data access to WPF, from Ruby on Rails to ASP.NET MVC. He even shows you how to use it in Silverlight, and delves a bit into how you would test .NET code with IronRuby.
In the final section of the book, Shay even shows you how you would write IronRuby extensions. Why would you want to do this? Well, a few reasons… interop with Windows, some performance critical piece of code, or just some .NET code that you want more control over how IronRuby interacts with it. The point is that Shay takes this book from the highest level of just learning the Ruby language down to the lowest level of extending IronRuby with other .NET languages.
I thoroughly enjoyed working with Shay on this book, and while I can’t take any of the credit for it, I think that the result was excellent. It isn’t a light read, weighing in at over 500 pages, but there are so many topics that Shay touches on that he definitely needed the space. A lot of the book is spent on different technologies like Silverlight, WinForms, WPF, so you are likely to be moving from section to section to glean the most important information that is relevant to the tools you are working with. There really is something in there for almost everyone, even the absolute beginner. So, if you are interested in IronRuby, or just Ruby and spend your time on the CLR, you owe it to yourself to check out IronRuby Unleashed.