Skip to: site menu | section menu | main content

IronPython in Action News

News on the IronPython in Action book and sources.

Currently viewing: Front Page

Archive for May 2009

Several Reviews: An Australian, a Frenchman and an American

written by Michael Foord, on 5/30/09 12:30 AM.

In the last week three new reviews of IronPython in Action have gone online, and by reviewers from three different continents.

The first is from Tarn Barford who is an Australian .NET programmer with an interest in IronPython. He has blogged and presented about IronPython, and now he has reviewed IronPython in Action:

IronPython in Action is a fantastic resource for anyone learning IronPython and for anyone wondering what this dynamic language IronPython is all about and whether they should learn it. It feels nicely balanced for both .NET users looking to learn about IronPython, and for Python users looking to learn about IronPython on .NET.
I prefer software books that have plenty of discussion and can be read from start to finish otherwise I end up skipping through chapters I never go back too. I found this book well written and fun to read with interesting insight all the way through. There is enough about the python language and .NET to get you through the book, and rather than being a reference book it instead provides information on how to learn more.

Matt Brucher is a French Python programmer with an interest in scientific computing. His review (in English) describes the contents of the book which I think he liked:

IronPython is the first dynamic language developed for the .Net platform. At first, .Net didn’t support this kind of language. This is something that keeps on coming back throughout the book: you have to use some additional tricks to unleash the power of .Net dynamic and static languages.
As a conclusion, those who need a dynamic language (to script an application) can go for IronPython, the first dynamic language for the .Net framework, compatible with the language Python 2.5, and in that case, go for this book that will help you for anything.

The final review of this trio is by the token American Scott Koon, who is a well known .NET developer under his nom-de-blog Lazycoder:

I’ve always wanted to use Python more but it’s difficult because the .NET Framework is such a walled garden in terms of interoperability with other programming languages. Mostly I use it to write little one off scripts when I want to move a bunch of files around or parse some text. I was really excited when Manning asked to to review IronPython in Action because I wanted to dive a little deeper into Python and possibly use it in some web applications. “IronPython in Action” makes it easy to get started using IronPython right away.
Chapter 7 discusses agile testing and unit testing using IronPython. I almost dropped the book in amazement. Unit testing is almost never mentioned in any language book and is relegated to a niche or advanced topic. Find a book about any other .NET language that mentions unit testing that doesn’t have the word “testing” in the title. This alone sets the quality of this book far above other language books I have read. It’s not just enough, in my opinion, to discuss the syntax of the language. You have to teach the reader how to use the language in your everyday work
My overall feeling about this book is that it’s a great book. The authors use the same humor and dry wit that Python is known for to great effect. Making the digestion of a very different language easier. I’m sure that as I continue to experiment with IronPython that I’ll keep this book close at hand.

My favourite quote from all these reviews is from Scott's: "If anything exposes the cruel, unnecessary complexity of .NET, it’s got to be a Winforms app." Actually I quite like Windows Forms, but it's still a good quote.

Tim Anderson Reviews IronPython in Action

written by Michael Foord, on 5/25/09 11:14 PM.

Tim Anderson is a technical writer who specialises in writing about Microsoft technologies. As well as writing for the Guardian he blogs regularly and has just reviewed IronPython in Action:

It is aimed at Python programmers who do not know .NET, and .NET programmers who do not know Python, rather than at existing IronPython developers. The authors run through the basics of Python and its .NET integration, so that by the end of Part 1 you could write a simple Windows Forms application. Part 2 is on core development techniques and covers duck typing, model-view-controller basics, handling XML, unit and functional testing, and metaprogramming – this is where you generate and execute code at runtime.
The third part of the book covers .NET integration, and how to use IronPython with WPF (Windows Presentation Foundation), PowerShell, ASP.NET, ADO.NET (database access) , web services, and in Silverlight. Finally, Part 4 shows how to extend IronPython with libraries written in C# or VB.NET, how to use Python objects in C# or VB, and how to embed the IronPython engine into your own application.
It’s a well-written book and fulfils its purpose nicely. I like the way the book is honest about areas where IronPython is more verbose or awkward than C# or VB.NETAs someone who knows .NET well, but Python little, I could have done without all the introductory .NET explanations, but I understand why they are there. I particularly liked part two, on core programming techniques, which is a thought-provoking read for any developer with an interest in dynamic languages.

Tim Golden Reviews IronPython in Action

written by Michael Foord, on 5/17/09 5:37 PM.

Tim Golden is a Windows Python guru. He is the author of the Python WMI module which interfaces Python to Windows Management Instrumentation. .NET provides access to WMI through the System.Management namespace, which naturally can be used from IronPython. This features in IronPython in Action in chapter ten on system administration:

WMI is a management infrastructure, through which system components provide information about their state and notification of events. You can use WMI to change configuration, interrogate the local system or remote computers, and respond to events. Practical uses for WMI include tasks like inventorying all installed software, uninstalling programs, creating scheduled tasks, and obtaining information about running services. Additionally, applications can provide instrumentation so that they can be queried by WMI.

Tim's help was invaluable in writing the WMI section of the system administration chapter of IronPython in Action. This earns him a mention or two in the footnotes, a fact Tim notes in his review...

By way of disclosure, I’m given a couple of blushingly generous footnote credits by Michael which naturally leave me feeling well-disposed towards the book as a whole. But even without those, I’d be giving it the thumbs-up.
But the most important win, I think, is managing to write a book about IronPython, not about Python or .NET. Naturally there is an element of explanation involved in both directions when some feature is being introduced or compared. But for the most part you can refer to the appendices which give summaries of Python/.NET if an unfamiliar term arises. For me, this achievement is key to the success of a book like this.

New Errata Page

written by Michael Foord, on 5/14/09 11:40 PM.

Inevitably in any technical book there will be typos and errors. Much as I would love that not to be the case for IronPython in Action a few errata have already been reported. So that they don't get lost I've created a new page on the website to track them.

If you spot typos, have any questions or find something that looks like an error then please post on the IronPython in Action Author's Forum. All the genuine errors, or any changes needed due to new releases of IronPython, will be posted to the errata page.

Steve Gilham Reviews IronPython in Action

written by Michael Foord, on 5/4/09 9:40 PM.

Steve Gilham has been blogging on and off about IronPython pretty much since the first release of IronPython. We asked him to review IronPython in Action, but it turned out he had already bought it and was intending to review it anyway! This is an extract from the review he has posted:

The task the authors set themselves is an heroic one -- to teach Python to .net programmers, and .net to Python programmers, and, just in case that was not enough, several of the more outré parts of .net, and good programming practices, for just about everybody as well. What makes this a great book is that, in the course of about 450 pages, with copious external citations, they actually succeed.
Part of the secret of the success is that this (like Programming in Scala) is not a beginner's book and assumes the reader has a degree of familiarity with basic programming concepts -- for example, the Python if, for and while statements are covered together in just over a page, with the link collection in Appendix C there in case a more at length treatment is required -- so freeing space for more advanced material to be covered.
The scope of the material covered came as a most pleasant surprise -- when I pre-ordered the book, it was as a gesture of support, because the language deserved a presence in print (after all, I'd been programming since whenever, using .net since it hit 1.0, and IronPython for a couple of years, so not much of it should be exactly new...); when it finally arrived and I could read it, I found there were significant things I could learn from it, new insights and just better ways to achieve some things already did.
In particular, the chapter on testing is pretty much worth the admission price all by itself, simply for the worked example of how to solve that perennial problem -- performing automated testing of a .net GUI application (as opposed to just testing the backing libraries).

Back to top