Iron Python in Action
I first installed IronPython in late 2006 – the combination of .NET and Python being impossible to resist. My interest and enthusiasm were both raised further by the announcement of the DLR at MIX in 2007. Since then, I’ve learned about it from blog posts, presentations and occasional bouts of experimentation. But I always wanted a book about it to learn more and to illuminate the undiscovered corners. So, I was impatient for the publication of IronPython In Action and bought a copy as soon as it became available. Having just finished the book, I thought I’d post some thoughts about it.
The first thing I realised when I started to read the book was that the authors, Michael Foord and Christian Moorhead, had to satisfy two discrete audiences: Python programmers interested in the .NET implementation and .NET programmers interested in the DLR and Python. The result is that there are sections that provide introductions to aspects of both Python and .NET. I think you’ll want more information on whichever area is new to you, but this is a good starting point.
This is a how-to book, so once the introductions are over, it gets into accomplishing specific tasks. In doing so, a number of dynamic language attributes like duck typing and first-class functions are introduced. There’s good coverage of how to use IronPython in a number of .NET technologies such as ASP .NET, WPF, WinForms and Silverlight.
My personal interest was to see how to combine C# and IronPython and this topic is covered including sections on metaprogramming and embedding. I would have liked to see more on this topic – given the breadth of what is being covered, the consequence has to be that there is a limited amount of space for any given area. And that for me summarises the book – a very good introduction to what you can achieve with IronPython and the DLR.
If you’re interested in the DLR and IronPython, this book is worth reading. It’s a very good introduction – and will serve as a useful reference when you come to start your next foray into IronPython. And if you’re not interested in the DLR and IronPython, reading this book may just change your mind.