I’ve been asked by Manning to review Michael Foord and Christian Muirhead’s IronPython in Action. As many people know, I recommend technical books typically based on their reference value, as I usually get bored within the first few sentences and end up turning them into references rather than reading through them. This book, however, was one that I read cover-to-cover.

What I liked best about this book was how it was broken down and how those parts come together. The 15 chapters are broken up into 4 parts – Getting Started with IronPython, Core Development Techniques, IronPython and Advanced .NET, and Reaching Out with IronPython.

The pace of this book is great for someone just learning IronPython. The book mentions using IronPython Studio and also brings up Mono, an alternative version of .NET that adds cross-platform abilities and supports IronPython. It also addresses IronPython from both perspectives – what Python is for a .NET programmer and what .NET is for a Python programmer.

IronPython in Action covers everything from the basic “HelloWorld” in C# (a language most .NET developers are familiar with) versus Python to getting into Silverlight. There are plenty of examples of Python and its data structures, which gives the .NET reader the basic building blocks to follow along through the rest of the examples in the book. There are also plenty of examples of .NET code for Windows Forms, .NET types (strings, numbers, and Booleans), delegates, and event handlers. I’ve found these introductory chapters to set a great base for developers from either camp – .NET or Python.

Once that base is established, the rest of the book gets into marrying Python and .NET into the wonderful language known as IronPython. The examples that are covered include (but are not limited to) working with XML, tabbed dialogs, modal dialogs, object serialization, testing with unittest, working with various mock libraries, monkey patching, dependency injection, metaprogramming, WPF, shell scripting, data binding, Silverlight, and extending the language with languages the .NET programmers are familiar with (C# and VB).

Overall, I would recommend IronPython in Action for anyone wanting to learn IronPython. The examples in this book were easy to follow and very applicable to everyday programming. Even if you’re an experienced IronPython programmer, IronPython in Action would be great to have on hand as a reference. I’m looking forward to buying the final copy once it comes out, just to have as a reference (and to plug in my future IronPython talks).

Want to hear what other people are saying about this book? Check out other reviews that the authors are tracking!